2012 Aug 14 11:30 AM
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.
2012 Aug 14 11:38 AM
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
2012 Aug 14 11:49 AM
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
2012 Aug 14 11:53 AM
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.
2012 Aug 14 11:57 AM
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.