cancel
Showing results for 
Search instead for 
Did you mean: 

Sapscript - Passing data from FM to form

Former Member
0 Kudos

Hi,

I have a requirement to use a function module to call a form and print a label. All the data needed for printing is available in the FM. But when I test the FM, the layout has no data. It prints only the texts. Can anyone tell me what is wrong here?


TABLES: QALS,
          QAVE,
          QAPO,
          MARA,
          MCH1,
          USR01.

  DATA: USAGE_DECISION TYPE C LENGTH 40.

  DATA : BEGIN OF ZOPTION.
        INCLUDE STRUCTURE ITCPO.
  DATA : END OF ZOPTION.

  QALS = I_QALS.
  QAVE = I_QAVE.

  CASE QAVE-VBEWERTUNG.
    WHEN 'A'.
      USAGE_DECISION = 'APPROVED RAW MATERIAL'.
    WHEN 'R'.
      USAGE_DECISION = 'REJECTED RAW MATERIAL'.
  ENDCASE.

  CLEAR MARA.
  SELECT SINGLE * FROM MARA
                  WHERE MATNR = QALS-MATNR.

  CLEAR MCH1.
  SELECT SINGLE VFDAT FROM MCH1
                      INTO MCH1-VFDAT
                      WHERE MATNR = QALS-MATNR AND
                            CHARG = QALS-CHARG.

  CLEAR USR01.
  SELECT SINGLE * FROM USR01 WHERE BNAME = SY-UNAME.

  ZOPTION-TDDEST    = USR01-SPLD.        "Output device (printer)
  ZOPTION-TDIMMED   = 'X'.               "Print immediately
  ZOPTION-TDDELETE  = 'X'.               "Delete after printing
*  ZOPTION-TDPROGRAM = 'ZPQRPRNT'.        "Program Name


CALL FUNCTION 'OPEN_FORM'
 EXPORTING
   DEVICE                            = 'PRINTER'
   DIALOG                            = 'X'
   FORM                              = 'ZQM_IN_QCLABEL01'
   LANGUAGE                          = SY-LANGU
   OPTIONS                           = ZOPTION
 IMPORTING
   LANGUAGE                          = SY-LANGU.

CALL FUNCTION 'WRITE_FORM'
 EXPORTING
   ELEMENT                        = 'HEADER'
*   FUNCTION                       = 'SET'
*   TYPE                           = 'BODY'
   WINDOW                         = 'HEADER'.


CALL FUNCTION 'WRITE_FORM'
 EXPORTING
   ELEMENT                        = 'MAIN'
*   FUNCTION                       = 'SET'
*   TYPE                           = 'BODY'
   WINDOW                         = 'MAIN'.

CALL FUNCTION 'CLOSE_FORM'.
* EXCEPTIONS
*   UNOPENED                       = 1

Thanks,

A.P.

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi Ravi,

This is how my layout lloks like:

/E HEADER

CN <HT>&USAGE_DECISION&</>

/E MAIN

AS <L1>Material: &QALS-MATNR&</>

AS <L1>Batch: &QALS-CHARG&</>

AS <L1>Insp. Lot: &QALS-PRUEFLOS&</>

AS <L1>Vendor Lot:&QALS-LICHN&</>

AS ,,<L1>&QALS-KTEXTMAT&</>

AS ,,,,<L2>&MARA-BISMT&</>

AS ,,,,<L3>Net Weight : &MARA-NTGE& &MARA-GEWEI&</>

AS ,,,,<L3>Tare Weight : &MARA-TARE_VAR& &MARA-GEWEI&</>

AS ,,,,<L3>Gross Weight: &MARA-BRGEW& &MARA-GEWEI&</>

/

/: SET DATE MASK = 'MM/DD/YYYY'

AS <L4>Expiration Date: &MCH1-VFDAT&</>

Regards,

A.P.

former_member181962
Active Contributor
0 Kudos

Hi,

Did you have the text elements defined with the name syou have given?

Can you show what is the content of the text elements that you have?

Regards,

Ravi