Problema sapscript con end form no permitido a falta de open form

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • naotosx
    Junior Member
    • dic
    • 5

    #1

    Problema sapscript con end form no permitido a falta de open form

    Como dice el titulo luego de ejecutar mi sapscript al salirme me dice END_FORM no permitido a falta de OPEN_FORM no se si los puse en mal orden o algo, estoy llamando 3 write form que son de ventas distitnas en mi sapscript ahora no se si cada write necesite un open y un end form les paso el codigo para que vena y me digan que puede ser.


    Es un ejercicio que estoy haciendo por mi cuenta y quiero hacerle otras cosas pero no avanzare hasta que no aclare esto xD.

    Código:
    REPORT  Z_NAAC_SAPSCRIPT.
    
    
    TYPES:BEGIN OF TY_VBRP,
          VBELN TYPE VBELN,
          VRKME TYPE VRKME,
          NTGEW TYPE NTGEW,
          NETWR TYPE NETWR,
          VGBEL TYPE VGBEL,
          VGPOS TYPE VGPOS,
          END OF TY_VBRP,
    
          BEGIN OF TY_VBRK,
          VBELN TYPE VBELN,
          FKART TYPE FKART,
          FKTYP TYPE FKTYP,
          VKORG TYPE VKORG,
          KUNAG TYPE KUNAG,
          END OF TY_VBRK,
    
          BEGIN OF TY_KNA1,
          KUNNR TYPE KUNNR,
          LAND1 TYPE LAND1,
          NAME1 TYPE NAME1,
          OTT01 TYPE ORT01,
          REGIO TYPE REGIO,
          END OF TY_KNA1,
    
          BEGIN OF TY_OPT,
          VBELN TYPE VBELN,
          FKART TYPE FKART,
          FKTYP TYPE FKTYP,
          VKORG TYPE VKORG,
          KUNAG TYPE KUNAG,
          VRKME TYPE VRKME,
          NTGEW TYPE NTGEW,
          NETWR TYPE NETWR,
          VGBEL TYPE VGBEL,
          VGPOS TYPE VGPOS,
          KUNNR TYPE KUNNR,
          LAND1 TYPE LAND1,
          NAME1 TYPE NAME1,
          ORT01 TYPE ORT01,
          REGIO TYPE REGIO,
          END OF TY_OPT.
    
    DATA: IT_VBRP TYPE TABLE OF TY_VBRP,
          WA_VBRP TYPE TY_VBRP,
          IT_VBRK TYPE TABLE OF TY_VBRK,
          WA_VBRK TYPE TY_VBRK,
          IT_KNA1 TYPE TABLE OF TY_KNA1,
          WA_KNA1 TYPE TY_KNA1,
          IT_OPT TYPE TABLE OF TY_OPT,
          WA_OPT TYPE TY_OPT,
          WA_OPT1 TYPE TY_OPT.
    
    SELECT-OPTIONS: S_VBELN FOR WA_VBRK-VBELN.
    
          START-OF-SELECTION.
            PERFORM GET_VBRK.
            PERFORM GET_VBRP.
            PERFORM GET_KNA1.
            PERFORM MOVE.
            PERFORM DISP_OPT.
          END-OF-SELECTION.
    
    *&---------------------------------------------------------------------*
    *&      Form  GET_VBRK
    *&---------------------------------------------------------------------*
    *       text
    *----------------------------------------------------------------------*
    *  -->  p1        text
    *  <--  p2        text
    *----------------------------------------------------------------------*
    form GET_VBRK .
        select
          VBELN
          FKART
          FKTYP
          VKORG
          KUNAG
         from VBRK
         INTO table it_vbrk
         where vbeln IN s_vbeln.
    
    endform.                    " GET_VBRK
    *&---------------------------------------------------------------------*
    *&      Form  GET_VBRP
    *&---------------------------------------------------------------------*
    *       text
    *----------------------------------------------------------------------*
    *  -->  p1        text
    *  <--  p2        text
    *----------------------------------------------------------------------*
    form GET_VBRP .
    
    if it_vbrk is not initial.
        select
          VBELN
          VRKME
          NTGEW
          NETWR
          VGBEL
          VGPOS
        from VBRP
        INTO TABLE it_vbrp
        for all entries in it_vbrk
        where vbeln = it_vbrk-vbeln.
    endif.
    
    endform.                    " GET_VBRP
    *&---------------------------------------------------------------------*
    *&      Form  GET_KNA1
    *&---------------------------------------------------------------------*
    *       text
    *----------------------------------------------------------------------*
    *  -->  p1        text
    *  <--  p2        text
    *----------------------------------------------------------------------*
    form GET_KNA1 .
        if it_vbrk is not initial.
          select
              KUNNR
              LAND1
              NAME1
              ORT01
              REGIO
          from kna1
          into table it_kna1
          for all entries in it_vbrk
          where kunnr = it_vbrk-kunag.
        endif.
    
    endform.                    " GET_KNA1
    *&---------------------------------------------------------------------*
    *&      Form  MOVE
    *&---------------------------------------------------------------------*
    *       text
    *----------------------------------------------------------------------*
    *  -->  p1        text
    *  <--  p2        text
    *----------------------------------------------------------------------*
    form MOVE .
    
    loop at it_vbrp into wa_vbrp.
          move-corresponding wa_vbrp to wa_opt.
          read table it_vbrk into wa_vbrk with key vbeln = wa_vbrp-vbeln.
    
          move-corresponding wa_vbrk to wa_opt.
          read table it_kna1 into wa_kna1 with key kunnr = wa_vbrk-kunag.
    
        move-corresponding wa_kna1 to wa_opt.
        append wa_opt to it_opt.
        clear wa_opt.
    endloop.
    endform.                    " MOVE
    
    
    
    *&---------------------------------------------------------------------*
    *&      Form  DISP_OPT
    *&---------------------------------------------------------------------*
    *       text
    *----------------------------------------------------------------------*
    *  -->  p1        text
    *  <--  p2        text
    *----------------------------------------------------------------------*
    form DISP_OPT .
    
    CALL FUNCTION 'OPEN_FORM'
     EXPORTING
    *   APPLICATION                       = 'TX'
    *   ARCHIVE_INDEX                     =
    *   ARCHIVE_PARAMS                    =
       DEVICE                            = 'PRINTER'
       DIALOG                            = 'X'
       FORM                              = 'Z_NAAC_SC'
       LANGUAGE                          = SY-LANGU
    *   OPTIONS                           =
    *   MAIL_SENDER                       =
    *   MAIL_RECIPIENT                    =
    *   MAIL_APPL_OBJECT                  =
    *   RAW_DATA_INTERFACE                = '*'
    *   SPONUMIV                          =
    * IMPORTING
    *   LANGUAGE                          =
    *   NEW_ARCHIVE_PARAMS                =
    *   RESULT                            =
    * EXCEPTIONS
    *   CANCELED                          = 1
    *   DEVICE                            = 2
    *   FORM                              = 3
    *   OPTIONS                           = 4
    *   UNCLOSED                          = 5
    *   MAIL_OPTIONS                      = 6
    *   ARCHIVE_ERROR                     = 7
    *   INVALID_FAX_NUMBER                = 8
    *   MORE_PARAMS_NEEDED_IN_BATCH       = 9
    *   SPOOL_ERROR                       = 10
    *   CODEPAGE                          = 11
    *   OTHERS                            = 12
              .
    IF sy-subrc <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    
    
    *-------------------------------------------------------*
    
    
    CALL FUNCTION 'START_FORM'
     EXPORTING
    *   ARCHIVE_INDEX          =
       FORM                   = 'Z_NAAC_SC'
       LANGUAGE               = SY-LANGU
    *   STARTPAGE              = ' '
    *   PROGRAM                = ' '
    *   MAIL_APPL_OBJECT       =
    * IMPORTING
    *   LANGUAGE               =
    * EXCEPTIONS
    *   FORM                   = 1
    *   FORMAT                 = 2
    *   UNENDED                = 3
    *   UNOPENED               = 4
    *   UNUSED                 = 5
    *   SPOOL_ERROR            = 6
    *   CODEPAGE               = 7
    *   OTHERS                 = 8
              .
    IF sy-subrc <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    
    
    
    
    loop at it_opt into wa_opt.
    
    wa_opt1 = wa_opt.
    
    
    *---------------------------------------*
    *          Ventana Cabecera             *
    *---------------------------------------*
    CALL FUNCTION 'WRITE_FORM'
     EXPORTING
       ELEMENT                        = 'HEADER'
       FUNCTION                       = 'SET'
       TYPE                           = 'BODY'
       WINDOW                         = 'V_CABECE'
    * IMPORTING
    *   PENDING_LINES                  =
    * EXCEPTIONS
    *   ELEMENT                        = 1
    *   FUNCTION                       = 2
    *   TYPE                           = 3
    *   UNOPENED                       = 4
    *   UNSTARTED                      = 5
    *   WINDOW                         = 6
    *   BAD_PAGEFORMAT_FOR_PRINT       = 7
    *   SPOOL_ERROR                    = 8
    *   CODEPAGE                       = 9
    *   OTHERS                         = 10
              .
    IF sy-subrc <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    
    
    *---------------------------------------*
    *          Ventana Main                 *
    *---------------------------------------*
    
    CALL FUNCTION 'WRITE_FORM'
     EXPORTING
       ELEMENT                        = 'MAIN'
       FUNCTION                       = 'SET'
       TYPE                           = 'BODY'
       WINDOW                         = 'MAIN'
    * IMPORTING
    *   PENDING_LINES                  =
    * EXCEPTIONS
    *   ELEMENT                        = 1
    *   FUNCTION                       = 2
    *   TYPE                           = 3
    *   UNOPENED                       = 4
    *   UNSTARTED                      = 5
    *   WINDOW                         = 6
    *   BAD_PAGEFORMAT_FOR_PRINT       = 7
    *   SPOOL_ERROR                    = 8
    *   CODEPAGE                       = 9
    *   OTHERS                         = 10
              .
    IF sy-subrc <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    
    *---------------------------------------*
    *          Ventana Footer               *
    *---------------------------------------*
    
    CALL FUNCTION 'WRITE_FORM'
     EXPORTING
       ELEMENT                        = 'FOOTER'
       FUNCTION                       = 'SET'
       TYPE                           = 'BODY'
       WINDOW                         = 'V_FOOTER'
    * IMPORTING
    *   PENDING_LINES                  =
    * EXCEPTIONS
    *   ELEMENT                        = 1
    *   FUNCTION                       = 2
    *   TYPE                           = 3
    *   UNOPENED                       = 4
    *   UNSTARTED                      = 5
    *   WINDOW                         = 6
    *   BAD_PAGEFORMAT_FOR_PRINT       = 7
    *   SPOOL_ERROR                    = 8
    *   CODEPAGE                       = 9
    *   OTHERS                         = 10
              .
    IF sy-subrc <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    *---------------------------------------*
    *          Fin del loop                 *
    *---------------------------------------*
    endloop.
    *---------------------------------------*
    *          Close form                   *
    *---------------------------------------*
    
    CALL FUNCTION 'CLOSE_FORM'
    * IMPORTING
    *   RESULT                         =
    *   RDI_RESULT                     =
    * TABLES
    *   OTFDATA                        =
    * EXCEPTIONS
    *   UNOPENED                       = 1
    *   BAD_PAGEFORMAT_FOR_PRINT       = 2
    *   SEND_ERROR                     = 3
    *   SPOOL_ERROR                    = 4
    *   CODEPAGE                       = 5
    *   OTHERS                         = 6
              .
    IF sy-subrc <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    
    *---------------------------------------*
    *         End form                      *
    *---------------------------------------*
    
    
    CALL FUNCTION 'END_FORM'
    * IMPORTING
    *   RESULT                         =
    * EXCEPTIONS
    *   UNOPENED                       = 1
    *   BAD_PAGEFORMAT_FOR_PRINT       = 2
    *   SPOOL_ERROR                    = 3
    *   CODEPAGE                       = 4
    *   OTHERS                         = 5
              .
    IF sy-subrc <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    
    
    
    
    endform.                    " DISP_OPT
Trabajando...