Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

exnum is unknown

Former Member
0 Likes
791

Hi ALL

  I GOT SOME ERROR WHILE ACTIVATING A PRINT PROGRAM FOR SMART FORM

     

    SYNTAX ERROR

     Field "EXNUM" unknown

*&---------------------------------------------------------------------*

*& Report  ZREP_CHALLAN

*&

*&---------------------------------------------------------------------*

*&

*&

*&---------------------------------------------------------------------*

REPORT  ZREP_CHALLAN.

TABLES : J_1IEXCHDR, J_1IEXCDTL, LFA1, EKPO, EKKO, MBEW.

PARAMETERS : P_EXNUM LIKE J_1IEXCHDR-EXNUM ,

              P_EXDAT LIKE J_1IEXCHDR-EXDAT,

              P_EXGRP LIKE J_1IEXCHDR-EXGRP.

DATA:      v_formname TYPE TDSFNAME value 'ZCHALLAN',

            v_fmname TYPE RS38L_FNAM,

            count TYPE i VALUE 0.

*           temp TYPE string.

TYPES : BEGIN OF SY_J_1IEXCHDR,

         EXNUM TYPE J_1IEXCHDR-EXNUM,

         EXDAT TYPE J_1IEXCHDR-EXDAT,

         LIFNR TYPE J_1IEXCHDR-LIFNR,

         EXGRP TYPE J_1IEXCHDR-EXGRP,

*        RDOC2 TYPE J_1IEXCHDR-RDOC2,

*        MENGE TYPE J_1IEXCHDR-MENGE,

         CPUTM TYPE J_1IEXCHDR-CPUTM,

         END OF SY_J_1IEXCHDR.

DATA :  IT_J_1IEXCHDR TYPE TABLE OF SY_J_1IEXCHDR,

         WA_J_1IEXCHDR LIKE LINE OF IT_J_1IEXCHDR.

TYPES : BEGIN OF SY_J_1IEXCDTL,

         MATNR TYPE J_1IEXCDTL-MATNR,

         MAKTX TYPE J_1IEXCDTL-MAKTX,

         MENGE TYPE J_1IEXCDTL-MENGE,

         MEINS TYPE J_1IEXCDTL-MEINS,

         RDOC2 TYPE J_1IEXCDTL-RDOC2,

         END OF SY_J_1IEXCDTL.

DATA : IT_J_1IEXCDTL TYPE TABLE OF SY_J_1IEXCDTL,

        WA_J_1IEXCDTL  LIKE LINE OF IT_J_1IEXCDTL.

TYPES : BEGIN OF SY_LFA1,

         NAME1 TYPE LFA1-NAME1,

         NAME2 TYPE LFA1-NAME2,

         ORT01 TYPE LFA1-ORT01,

         ORT02 TYPE LFA1-ORT02,

         PSTLZ TYPE LFA1-PSTLZ,

         REGIO TYPE LFA1-REGIO,

         END OF SY_LFA1.

DATA :  IT_LFA1 TYPE TABLE OF SY_LFA1,

         WA_LFA1 LIKE LINE OF IT_LFA1.

TYPES : BEGIN OF SY_MBEW,

         VERPR TYPE MBEW-VERPR,

         STPRS TYPE MBEW-STPRS,

         END OF SY_MBEW.

DATA :  IT_MBEW TYPE TABLE OF SY_MBEW,

         WA_MBEW LIKE LINE OF IT_MBEW.

TYPES : BEGIN OF SY_EKPO,

         MATNR TYPE EKPO-MATNR,

         MEINS TYPE EKPO-MEINS,

         MENGE TYPE EKPO-MENGE,

         END OF SY_EKPO.

DATA :  IT_EKPO TYPE TABLE OF SY_EKPO,

         WA_EKPO LIKE LINE OF IT_EKPO.

TYPES : BEGIN OF SY_EKKO,

         EBELN TYPE EKKO-EBELN,

         AEDAT TYPE EKKO-AEDAT,

         END OF SY_EKKO.

DATA : IT_EKKO TYPE TABLE OF SY_EKKO,

        WA_EKKO LIKE LINE OF IT_EKKO.

DATA:     IT_FINAL TYPE TABLE OF ZCHALLAN57,

           WA_FINAL LIKE LINE OF IT_FINAL.

*DATA :  EXNUM TYPE J_1IEXCHDR-EXNUM,

*        EXDAT TYPE J_1IEXCHDR-EXDAT,

*        LIFNR TYPE J_1IEXCHDR-LIFNR,

*        EXGRP TYPE J_1IEXCHDR-EXGRP,

*        CPUTM TYPE J_1IEXCHDR-CPUTM,

*        MATNR TYPE J_1IEXCDTL-MATNR,

*        MAKTX TYPE J_1IEXCDTL-MAKTX,

*        MENGE TYPE J_1IEXCDTL-MENGE,

*        MEINS TYPE J_1IEXCDTL-MEINS,

*        RDOC2 TYPE J_1IEXCDTL-RDOC2,

*        NAME1 TYPE LFA1-NAME1,

*        NAME2 TYPE LFA1-NAME2,

*        ORT01 TYPE LFA1-ORT01,

*        ORT02 TYPE LFA1-ORT02,

*        PSTLZ TYPE LFA1-PSTLZ,

*        REGIO TYPE LFA1-REGIO,

*        VERPR TYPE MBEW-VERPR,

*        STPRS TYPE MBEW-STPRS,

START-OF-SELECTION.

PERFORM GETDATA.

PERFORM PASSDATA.

FORM GETDATA.

    SELECT

          EXNUM

          EXDAT

          LIFNR

          EXGRP

          CPUTM

        FROM J_1IEXCHDR

        INTO TABLE IT_J_1IEXCHDR

          WHERE EXNUM = J_1IEXCHDR-EXNUM

          AND   EXDAT = J_1IEXCHDR-EXDAT

          AND   EXGRP = J_1IEXCHDR-EXGRP.

       if sy-subrc ne 0.

            MESSAGE 'No data exist' TYPE 'E' DISPLAY LIKE 'S'.

            exit.

       ENDIF.

     SELECT

          NAME1

          NAME2

          ORT01

          ORT02

          PSTLZ

          REGIO

       FROM LFA1

       INTO TABLE IT_LFA1

       WHERE  EXNUM = J_1IEXCHDR-EXNUM

        AND   EXDAT = J_1IEXCHDR-EXDAT

        AND   EXGRP = J_1IEXCHDR-EXGRP.

     SELECT

           MATNR

           MAKTX

           MENGE

           MEINS

           RDOC2

        FROM J_1IEXCDL

        INTO TABLE IT_J_1IEXCDTL

        WHERE EXNUM = P_EXNUM.

     SELECT

           VERPR

           STPRS

         FROM MBEW

         INTO TABLE IT_MBEW

         WHERE EXNUM = P_EXNUM.

        LOOP AT IT_J_1IEXCDTL INTO WA_J_1IEXCDTL.

          COUNT = COUNT + 1.

          WA_FINAL-SRNO = COUNT.

          WA_FINAL-MATNR = WA_J_1IEXCDTL-MATNR.

          WA_FINAL-MAKTX = WA_J_1IEXCDTL-MAKTX.

          WA_FINAL-MENGE = WA_J_1IEXCDTL-MENGE.

          WA_FINAL-MEINS = WA_J_1IEXCDTL-MEINS.

          WA_FINAL-RDOC2 = WA_J_1IEXCDTL-RDOC2.

          APPEND WA_FINAL TO IT_FINAL.

        ENDLOOP.

        FORM PASSDATA.

           CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'

             EXPORTING

               formname                 = v_formname

*             VARIANT                  = ' '

*             DIRECT_CALL              = ' '

            IMPORTING

              FM_NAME                  = v_fmname.

*           EXCEPTIONS

*             NO_FORM                  = 1

*             NO_FUNCTION_MODULE       = 2

*             OTHERS                   = 3

                     .

           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 v_fmname

*    EXPORTING

**   ARCHIVE_INDEX              =

**   ARCHIVE_INDEX_TAB          =

**   ARCHIVE_PARAMETERS         =

**   CONTROL_PARAMETERS         =

**   MAIL_APPL_OBJ              =

**   MAIL_RECIPIENT             =

**   MAIL_SENDER                =

**   OUTPUT_OPTIONS             =

**   USER_SETTINGS              = 'X'

*    EXNUM                      = EXNUM

*    EXDAT                      = EXDAT

*    LIFNR                      = LIFNR

*    CPUTM                      = CPUTM

*    MENGE                      = MENGE

*    RDOC2                      = RDOC2

*    NAME1                      = NAME1

*    NAME2                      = NAME2

*    ORT1                       = ORT1

*    ORT2                       = ORT2

*    PSTLZ                      = PSTLZ

*    REGIO                      = REGIO

*    VERPR                      = VERPR

*    STRPS                      = STRPS

*    MATNR                      = MATNR

*    MAKTX                      = MAKTX

*    MENGE                      = MENGE

*    MEINS                      = MEINS

** IMPORTING

**   DOCUMENT_OUTPUT_INFO       =

**   JOB_OUTPUT_INFO            =

**   JOB_OUTPUT_OPTIONS         =

*  TABLES

*    it_data                    = it_final

** EXCEPTIONS

**   FORMATTING_ERROR           = 1

**   INTERNAL_ERROR             = 2

**   SEND_ERROR                 = 3

**   USER_CANCELED              = 4

**   OTHERS                     = 5

*          .

*IF sy-subrc <> 0.

** Implement suitable error handling here

*ENDIF.

*

*

CALL FUNCTION 'v_fmname'

   EXPORTING

*   ARCHIVE_INDEX              =

*   ARCHIVE_INDEX_TAB          =

*   ARCHIVE_PARAMETERS         =

*   CONTROL_PARAMETERS         =

*   MAIL_APPL_OBJ              =

*   MAIL_RECIPIENT             =

*   MAIL_SENDER                =

*   OUTPUT_OPTIONS             =

*   USER_SETTINGS              = 'X'

     exnum                      = EXNUM

     EXDAT                      = EXDAT

     LIFNR                      = LIFNR

     CPUTM                      = CPUTM

     NAME1                      = NAME1

     NAME2                      = NAME2

     ORT01                      = ORT01

     ORT02                      = ORT02

     PSTLZ                      = PSTLZ

     REGIO                      = REGIO

     VERPR                      = VERPR

     STPRS                      = STPRS

     MATNR                      = MATNR

     MAKTX                      = MAKTX

     MENGE                      = MENGE

     MEINS                      = MEINS

     RDOC2                      = RDOC2

     AEDAT                      = AEDAT

* IMPORTING

*   DOCUMENT_OUTPUT_INFO       =

*   JOB_OUTPUT_INFO            =

*   JOB_OUTPUT_OPTIONS         =

   TABLES

     IT_DATA                   = IT_FINAL.

*  EXCEPTIONS

*   FORMATTING_ERROR           = 1

*   INTERNAL_ERROR             = 2

*   SEND_ERROR                 = 3

*   USER_CANCELED              = 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.

4 REPLIES 4
Read only

Former Member
0 Likes
621

SELECT

          EXNUM

          EXDAT

          LIFNR

          EXGRP

          CPUTM

        FROM J_1IEXCHDR

        INTO TABLE IT_J_1IEXCHDR

          WHERE EXNUM = J_1IEXCHDR-EXNUM   " Give P_EXNUM

          AND   EXDAT = J_1IEXCHDR-EXDAT         " Parameters from Screen U need to Give

          AND   EXGRP = J_1IEXCHDR-EXGRP.      "  Parameters from Screen U need to Give

Read only

yogendra_bhaskar
Contributor
0 Likes
621

hi Abhijeet ,

IN

SELECT

          EXNUM

          EXDAT

          LIFNR

          EXGRP

          CPUTM

        FROM J_1IEXCHDR

        INTO TABLE IT_J_1IEXCHDR

          WHERE EXNUM = J_1IEXCHDR-EXNUM

          AND   EXDAT = J_1IEXCHDR-EXDAT

          AND   EXGRP = J_1IEXCHDR-EXGRP.

I suppose you need to give P_EXNUM , P_EXDAT & P_EXGRP here.

      

and also in .

     SELECT

          NAME1

          NAME2

          ORT01

          ORT02

          PSTLZ

          REGIO

       FROM LFA1

       INTO TABLE IT_LFA1

       WHERE  EXNUM = J_1IEXCHDR-EXNUM

        AND   EXDAT = J_1IEXCHDR-EXDAT

        AND   EXGRP = J_1IEXCHDR-EXGRP.

Regards ,

Yogendra Bhaskar

Read only

Aashish28
Contributor
0 Likes
621

Hiii,

        Check your table LFA1 and J_1IEXCHDR contain exnum or not and also for calling smartform just remove single quotes from  CALL FUNCTION 'v_fmname'  otherwise short dump will occur.

Read only

nishant_jain3
Explorer
0 Likes
621

Hi,

I could see your EXNUM declaration is commented

*DATA :  EXNUM TYPE J_1IEXCHDR-EXNUM,

*        EXDAT TYPE J_1IEXCHDR-EXDAT,

*        LIFNR TYPE J_1IEXCHDR-LIFNR,

*        EXGRP TYPE J_1IEXCHDR-EXGRP,

if its not the typo, uncomment it.