BADI  to call print form

Hello Friends,
I am working on a adobe pdf based print form in the GTS Customs Management module. When the activity message in the communication tab of the customs declaration document is executed by the end user, the adobe form has to be called. Please let me know if you are aware of a relevant BADI that can trigger the print form.
Thanks,
John.

Hi,
Could you please share the solution also here. I am interested in knowing that.
Regards,
Renjith Michael.

Similar Messages

  • To call Adobe Form thru WD4A as an print option

    Hi All,
    I have created one Adobe Forms
    I am successfully called it thru a normal ABAP program.
    Now I want to call it thru WD4A as an print form
    How shuld i proceed
    What would be the Driver program needed
    Thanks & Regards
    PK

    Hi Yogesh,
       Just to test ... can you place your code in a report and call the report with submit ... return in your module pool? For the data tables in the interface, you may export them and import them.. this will ensure that everything is good with your code and the place where you call the code from. I believe the issue is Module Pool rather than anything else. But that's just a doubt and we need to do this to confirm it.
    Best Regards,
    Abd-Al-Aleem

  • Suppress Print Dialogue while calling ADOBE FORM

    Hi,
    How to suppress the Print dialogue when I call PDF FORM.
    In Smart form interface we have a field no_dialogue in the structure SSFCTRLOP to suppress print dialogue.
    But in the Function Module generated by Adobe Form or in the Adobe Form Interface we don't have such structure to control the print dialogue.
    awaiting the answers.
    Ram.
    Edited by: RamMohan Rao on Sep 17, 2008 7:29 PM

    Hi,
          Try to generate the interface and adobe form and also the generated FM "/1BCDWB/SAPLSM00000027"
    Regards,
    Srini.

  • Open Adobe Print Form from ALV Int. Rprt using the XSTRING already present

    Hello Friends,
    I have a typicall issue that how to open a Adobe Print Form when a user double clicks in the ALV Report. Here when the user double clicks in the ALV Interactive Report using the unique ID I am getting the Adobe Form from a FTP location in the Form of XSTRING, now using the ABAP ADOBE PRINT FORM not using WebDynpro Application, I need to process this XSTRING and show up the Adobe Print Form.
    OR
    Is there a way to send the XSTRING to the Output Device or Printer to Display the PDF Form.
    Friends please help me in solving this issue.
    Thanks and Regards
    Pradeep Goli
    Edited by: Pradeep Goli on Mar 19, 2009 1:49 PM
    Edited by: Pradeep Goli on Mar 19, 2009 2:51 PM

    Hi Pradeep Goli,
    it is possible to show PDF in SAP GUI.
    Michal
    REPORT  ZTEST_DISPLAY_PDF.
    * You must create dynpro 500 with custom control named HTML.
    * In this custom control will be displayed PDF.
    DATA: g_pdf              TYPE xstring,
          pdf_my_container   TYPE REF TO cl_gui_custom_container,
          pdf_html_control   TYPE REF TO cl_gui_html_viewer.
    START-OF-SELECTION.
    PERFORM create_and_display.
    FORM create_and_display.
    *** Your code fo filling g_pdf
    CALL SCREEN '500'.
    ENDFORM.
    * PDF preview in HTML control
    module html_control output.
      perform pbo_html_control.
    endmodule.
    module html_control input.
      perform pai_html_control.
    endmodule.
    * PAI
    FORM pai_html_control.
      SET SCREEN '0'.
    ENDFORM.
    * Showing of PDF
    FORM pbo_html_control.
      DATA: l_pdf_alignment TYPE i,
            l_count         TYPE i,
            l_noprint       TYPE fpboolean,
            l_noarc         TYPE fpboolean,
            l_noprintarc    TYPE fpboolean.
    *  CLEAR: fcode.
      SET PF-STATUS 'VIEW_PDF'.
    * container
      IF pdf_my_container IS INITIAL.
        CREATE OBJECT pdf_my_container
          EXPORTING
            container_name = 'HTML'
          EXCEPTIONS
            OTHERS         = 1.
        IF sy-subrc <> 0.
          MESSAGE e150(FPRUNX).
          RETURN.
        ENDIF.
      ENDIF.
    * html control
      IF pdf_html_control IS INITIAL.
        CREATE OBJECT pdf_html_control
          EXPORTING
            parent = pdf_my_container
          EXCEPTIONS
            OTHERS = 1.
        IF sy-subrc <> 0.
          MESSAGE e150(FPRUNX).
          RETURN.
        ENDIF.
    *   alignment
        l_pdf_alignment = pdf_html_control->align_at_left  +
                        pdf_html_control->align_at_right +
                        pdf_html_control->align_at_top   +
                        pdf_html_control->align_at_bottom.
        CALL METHOD pdf_html_control->set_alignment
          EXPORTING
            alignment = l_pdf_alignment
          EXCEPTIONS
            OTHERS    = 1.
        IF sy-subrc <> 0.
          MESSAGE e150(FPRUNX).
          RETURN.
        ENDIF.
      ENDIF.
      PERFORM pdf_show USING g_pdf.
    ENDFORM.
    FORM pdf_show USING p_pdf_data TYPE xstring.
      STATICS: ls_url           TYPE i.
      TYPES: lt_pdf_table(1000) TYPE x.
      DATA:  l_myurl(80)        TYPE c,
             l_url(80)          TYPE c,
             l_pdf_data         TYPE STANDARD TABLE OF lt_pdf_table,
             l_pdf_size         TYPE i,
             l_pdf_line         TYPE lt_pdf_table,
             l_offset           TYPE i,
             l_len              TYPE i.
      l_pdf_size = XSTRLEN( p_pdf_data ).
      l_len = l_pdf_size.
      WHILE l_len >= 1000.
        l_pdf_line = p_pdf_data+l_offset(1000).
        APPEND l_pdf_line TO l_pdf_data.
        ADD 1000 TO l_offset.
        SUBTRACT 1000 FROM l_len.
      ENDWHILE.
      IF l_len > 0.
        l_pdf_line = p_pdf_data+l_offset(l_len).
        APPEND l_pdf_line TO l_pdf_data.
      ENDIF.
      ADD 1 TO ls_url.
      l_myurl(8) = ls_url.
      CONCATENATE l_myurl '.pdf' INTO l_myurl.
      SHIFT l_myurl LEFT DELETING LEADING space.
      CALL METHOD pdf_html_control->load_data
        EXPORTING
          url          = l_myurl
          size         = l_pdf_size
          type         = 'application'                          "#EC NOTEXT
          subtype      = 'pdf'                                  "#EC NOTEXT
        IMPORTING
          assigned_url = l_url
        CHANGING
          data_table   = l_pdf_data
        EXCEPTIONS
          OTHERS       = 1.
      IF sy-subrc <> 0.
        MESSAGE e152(FPRUNX).
        RETURN.
      ENDIF.
    * show data
      CALL METHOD pdf_html_control->show_data
        EXPORTING
          url    = l_url
        EXCEPTIONS
          OTHERS = 1.
      IF sy-subrc <> 0.
        MESSAGE e152(FPRUNX).
        RETURN.
      ENDIF.
    ENDFORM.

  • Question regarding Graphics - Print Forms

    Hi,
    This is a print forms question. We are on ECC 5.0, basis release 640
    Currently, for all our SAPscripts, we have our graphics as TIF files stored as text modules.
    For our Smartforms, we loaded BMP files to the BDS using transaction SE78.
    Adobe brings up the exciting possibility of using smaller sized JPG/JPEG files.
    The only place I can think of storing the JPEG files in the SAP system is the MIME Repository. Looks like SE78 does not support JPEG files.
    Here's my requirement and question.
    In the mime repository, I created folder 'LOGOS' in SAP/PUBLIC. So, the path would be /SAP/PUBLIC/LOGOS
    The names of the files in the mime repository are 'LOGO_A' and 'LOGO_B'.
    We need to print the company logo based on company code.
    If company code is 'A' then 'LOGO_A' else, 'LOGO_B'.
    We are reluctant to read the graphic in the ABAP program and pass the whole content through the Interface.
    I cannot embed the graphic in the form since the LOGO will change based on company code.
    Since we can use an url for an image field in Adobe forms, how can I point the url to the mime repository?
    Any help on this is greatly appreciated.
    Thank you.
    Best regards,
    -Ramesh

    Thanks Markus.
    By what you said, I am inferring that you mean access to load the graphic files to the Mime Repository.
    My question is to read the Mime repository since users of bsp applications can still see the LOGOs in their bsp pages (I think. Never did BSP before).
    Here is what I am doing currently.
    Here's my interface:
    LOGO_DATA TYPE XSTRING.
    In my driver program, I am reading the Mime Repository graphic into an XSTRING and passing it through the interface to the LOGO_DATA field.
    I created a Graphic in the Context and set it to 'Graphic Content'.
    I am setting the 'Field' property to LOGO_DATA and MIME Type to 'image/jpeg'
    Now,
    Instead of reading and sending the whole binary content across through the function call, I am looking to see if the following would be possible:
    Interface:
    LOGO_URL TYPE STRING
    In the driver program, assign the URL of the Graphic to field LOGO_URL (Don't know how yet).
    In the context, create a Graphic and set it to 'Graphic Reference'
    In the URL property, set the Graphic URL property to LOGO_URL field and then clear out the delimiter field.
    If it is not possible with the Mime Repository, will it be possible with the Business Document Server (Transaction SE78).
    Thank you.
    Best regards,
    -Ramesh

  • Manipulation of Print form after generation

    I am using Adobe Forms as print forms within the SAP ERP 5.0 without WebDynpro.
    I have requirement that I need to manipulate the generated PDF file by adding additional attachment files to the PDF generated by the function module. Technically this seems to be possible by combining the different APIs as follows:
    1. Setting the output parameter GETPDF to 'X' while calling FP_JOB_OPEN and
    2. Getting the binary file from the /1BCDWB/FORMOUTPUT object
    3. Then setting the binary to the IF_FP_PDF_OBJECT object via the SET_DOCUMENT method
    4. Adding the additional attachments via SET_ATTACHMENTS method.
    Is there smarter way to do this so that the attachment could be already added via the function modules?
    Is there any linkage between the function modules FP_* used for print forms and the classes  IF_FP_PDF_OBJECT that provide the ADS services?

    It seems that SAP has not even implemented the method IF_FP_PDF_OBJECT~SET_ATTACHMENTS in WebAS 6.40. It simply throws exception without doing anything.
    So it seems that the whole scenario is not even possible in NetWeaver 2004/Basis 6.40.
    On the question on why:
    In our scenario we need to attach additional PDF files (generated in external systems or scanned paper documents) to the print form produced by SAP. It seemed that the PDF attachments would provide solution for combining these external files with the form.
    The other alternative solution, that I have considered, is to "embed" the external documents to the form using the Image Field element in the layout. This is not really an option, because Image Field supports only BMP, JPEG, GIF, PNG and TIFF - NOT PDF. Secondly, it's really designed for embedding fixed-size images to the form. In our case the scanned document can be 10 pages long.

  • How to Print form using SAP Smart Forms which is migrated from SAP Script?

    Hello every one,
         i have a problem in printing form using smart form which is migrate from the SAP Script...so what method i have to use...if any one know the solution for this than plz reply me as soon as possible...

    hi
    when ever u want to migrate the script to smartform u have to chage the driver program also..
    refere this link to convert script to smartform
    convert sapscript to smartform
    c_formname = u r smartform name...
    CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
      EXPORTING
        formname           = c_formname
      IMPORTING
        fm_name            = v_fm_name
      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 SMARTFORM............................
    CALL FUNCTION v_fm_name
      EXPORTING
        control_parameters   = st_control_parameters
        output_options       = st_output_options
      IMPORTING
        document_output_info = st_document_output_info
        job_output_info      = st_job_output_info
        job_output_options   = st_job_output_options
      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.

  • How to call a form by JfPreamble

    Hello,
    can i call a form with JfPreamble without call through files.dat
    I had inserted ^form module name.mdf in the jfPreamble but when i launch the test for presentment appear an error : Error '-14' from print module. Make sure the 'Output to' or 'Print to' location is valid - Print job aborted.
    Can you help me???
    Thanks
    Mat.

    I don't think that the above error was caused by the ^form in the jfpreamble.
    However, putting a ^form in the jfpreamble does cause an error: "Recursive file open request. File 'JFPREAMBLE' in 'JFPREAMBLE'.".

  • How send a Print Form as attachment PDF?

    Hi everybody,
    I have created an Interactive Forms where I can input any new data.
    When I click on the button for save the new data, I must also convert my Interactive Form in PDF for send it as attachment to email. When I have groped to convert the interactive form in a PDF file, I lost the data that I have inserted.
    So I have created a Print Form through transaction SFP.
    I recall the print form in background mode and gets the form of Interactive Data and requiring as import table OTF,  but the OTF table is returned to me is different from that of a smartform and so I can not use the function module u2018CONVERT_OTFu2019.
    Carryover in the code, you know give me directions?
    With the code I'm used to create the PDF file and attach it to email, but the files that I receive by email can not I open it, probably because of an error in formatting during its creation.
    I look forward to your advice,
    Davide.

    Dear sirs, I can provide this program schema to send PDF print form as an email attachment. Hope it will help a bit.
    FUNCTION ZPDF_MAIL_SEND.
    ""Lokální rozhraní:
    *"  IMPORTING
    *"     VALUE(PDF) TYPE  FPCONTENT
    *"     VALUE(EMAIL) TYPE  AD_SMTPADR
      DATA lt_att_content_hex TYPE solix_tab.
      CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
        EXPORTING
          buffer     = pdf
        TABLES
          binary_tab = lt_att_content_hex.
      CLASS cl_bcs DEFINITION LOAD.
      DATA:
      lo_send_request TYPE REF TO cl_bcs VALUE IS INITIAL.
      lo_send_request = cl_bcs=>create_persistent( ).
    Message body and subject
      DATA:
      lt_message_body TYPE bcsy_text VALUE IS INITIAL,
      lo_document TYPE REF TO cl_document_bcs VALUE IS INITIAL.
      CALL FUNCTION 'ZREC_MAIL_GET_BODY'
        IMPORTING
          message_body = lt_message_body.
    Message document
      lo_document = cl_document_bcs=>create_document(
      i_type = 'RAW'
      i_text = lt_message_body
      i_subject = 'Úloha: vyplňte prosím následující formulář' ).
    Add attachment
      DATA: lx_document_bcs TYPE REF TO cx_document_bcs VALUE IS INITIAL.
      TRY.
          lo_document->add_attachment(
          EXPORTING
          i_attachment_type = 'PDF'
          i_attachment_subject = 'Formulář'
    I_ATTACHMENT_SIZE =
    I_ATTACHMENT_LANGUAGE = SPACE
    I_ATT_CONTENT_TEXT =
    I_ATTACHMENT_HEADER =
          i_att_content_hex = lt_att_content_hex ).
        CATCH cx_document_bcs INTO lx_document_bcs.
      ENDTRY.
    Pass the document to send request
      lo_send_request->set_document( lo_document ).
    Create sender
      DATA: lo_sender TYPE REF TO if_sender_bcs VALUE IS INITIAL.
      lo_sender = cl_cam_address_bcs=>create_internet_address( email ).
    Set sender
      lo_send_request->set_sender(
      EXPORTING
      i_sender = lo_sender ).
    Create recipient
      DATA:
      lo_recipient TYPE REF TO if_recipient_bcs VALUE IS INITIAL.
      lo_recipient = cl_sapuser_bcs=>create( sy-uname ).
    Set recipient
      lo_send_request->add_recipient(
      EXPORTING
      i_recipient = lo_recipient
      i_express = 'X' ).
      lo_send_request->add_recipient(
      EXPORTING
      i_recipient = lo_recipient
      i_express = 'X' ).
    Send email
      DATA: lv_sent_to_all(1) TYPE c VALUE IS INITIAL.
      TRY.
          lo_send_request->send(
            EXPORTING
              i_with_error_screen = 'X'
            RECEIVING
              result = lv_sent_to_all
            EXCEPTIONS
              OTHERS = 1 ).
       CATCH cx_send_req_bcs. .
        CLEANUP.
      ENDTRY.
      COMMIT WORK.
      MESSAGE 'Formulář byl odeslán' TYPE 'I'.
    ENDFUNCTION.

  • PDF Print Forms - Date format

    Hi Frnds,
    This is my first time to work in PDF print forms.
    I am using standard interface and program to print my PDF forms. The PDF form alone is customised.
    I need to format my date as dd-mmm-yyyy. how can i do it?
    can i call a subroutine from a Zprogram in the context or interface?
    Can anyone help me to solve my issue? thanks a lot.
    regards
    Suganya.

    Hi Frnds,
    I got the date format solution.
    But I need to know whether we can use the subroutine of the program inside the interface or PDF forms as like script.
    I am using the std prgm RFKORD10_PDF and my customised PDF form. but i am getting an error as "Contradiction in form".
    Can anyone help me to solve the error?
    thank in adv
    Suganya

  • Call Oracle Forms 6i from UNIX

    Hi,
    I am new to Oracle forms and I have some querries -
    I have a form created on windows environment (.fmb/.fmx). This form accepts a parameter in a text field and calls another Oracle Report. Now my questions are:
    1. If windows forms are not compatible with UNIX environment, then how these are converted to be compatible with UNIX/Linux (without re-creating them on different platform)?
    2. Can I call the same form from UNIX shell with input as a shell script input?
    3. And if answer to the second query is no, then can I invoke Web deplyed froms (on application server) using shell? and how..
    I w'd appreciate your help!
    Regards.

    hello
    please provide forms6i (on web?,client server?),OS version.
    im Assumed your using character mode.
    user9040817 wrote:
    Hi,
    I am new to Oracle forms and I have some querries -
    I have a form created on windows environment (.fmb/.fmx). This form accepts a parameter in a text field and calls another Oracle Report. Now my questions are:
    1. If windows forms are not compatible with UNIX environment, then how these are converted to be compatible with UNIX/Linux (without re-creating them on different platform)?you need to generate fmx on server side. this is character mode. use : f60gen yourforms.fmb username/password@tns > a
    yes you can call it forms use : f60run forms.fmx username/password@tns
    report : rwrun60c yourreportname.rdf username/password@tns destype=file desname=a.lis
    but always use HOST command inside the forms, also to send to the printer name that is configured to your server.
    host ('rwrun60c /dsk8/ciame/rcption/wagih/reportname xxx/xxxn@xxx batch=yes destype=file desname=$user_output/'||to_char(:blk1.office_emp_no)||'.lis tty_office_no='||to_char(:blk1.office_no)||' tty_emp_no='||to_char(:blk1.office_emp_no)||' tty_rcpt_no='||to_char(:blk2.rcpt_mst_receipt_no)||' tty_rpt_type=0;
    lp -d $lp01 -c $user_output/'||to_char(:blk1.office_emp_no)||'.lis',NO_PROMPT);
    and if you call another form then you can use open_form,call_form,,... inside the form. Be sure you add in the library your wroking folder.
    edit your user profile .
    Study this as a case : this is the profile of our mis user in our old character based system.
    SunOS 5.9
    |-----------------------------------------------------------------|
    | This system is for the use of authorized users only. |
    | Individuals using this computer system without authority, or in |
    | excess of their authority, are subject to having all of their |
    | activities on this system monitored and recorded by system |
    | personnel. |
    | |
    | In the course of monitoring individuals improperly using this |
    | system, or in the course of system maintenance, the activities |
    | of authorized users may also be monitored. |
    | |
    | Anyone using this system expressly consents to such monitoring |
    | and is advised that if such monitoring reveals possible |
    | evidence of criminal activity, system personnel may provide the |
    | evidence of such monitoring to law enforcement officials. |
    |-----------------------------------------------------------------|
    login: ciame
    Password:
    Last login: Tue Mar 6 09:39:32 from 0.0.0.0
    Sun Microsystems Inc. SunOS 5.9 Generic May 2002
    $ bash
    bash-2.05$ cd mis
    bash-2.05$ cat .profile
    # This is the default standard profile provided to a user.
    # They are expected to edit it to meet their own needs.
    #MAIL=/usr/mail/${LOGNAME:?}
    DISPLAY=8.4.2.5:0.0;export DISPLAY
    NLS_LANG=AMERICAN_AMERICA.AR8ISO8859P6; export NLS_LANG
    NLS_DATE_FORMAT=dd/mm/yyyy;export NLS_DATE_FORMAT
    TK6_PRINTER=alp35;export TK6_PRINTER
    EDITOR=/usr/bin/vi;export EDITOR
    ORACLE_BASE=/oracle; export ORACLE_BASE
    ORACLE_HOME=$ORACLE_BASE/product/dev6i; export ORACLE_HOME
    TNS_ADMIN=$ORACLE_HOME/network/admin; export TNS_ADMIN
    HOME=$ORACLE_HOME/bin;export HOME
    ORACLE_SID=JMH; export ORACLE_SID
    ORACLE_TERM=vt220; export ORACLE_TERM
    FORMS60_TERMINAL=$ORACLE_HOME/bin; export FORMS60_TERMINAL
    LD_LIBRARY_PATH=LD_LIBRARY_PATH:$ORACLE_HOME/bin:$ORACLE_HOME/lib:/usr/dt/lib:/u
    sr/openwin/lib:/usr/lib:$ORACLE_HOME/network/jre11/lib/sparc/native_threads; exp
    ort LD_LIBRARY_PATH
    SHLIB_PATH=$ORACLE_HOME/bin:/usr/dt/lib:/usr/openwin/lib:/usr/lib:$ORACLE_HOME/n
    etwork/jre11/lib/sparc/native_threads; export SHLIB_PATH
    PATH=/usr/ccs/bin:$ORACLE_HOME/bin:/usr/bin:/usr/openwin/bin/; export PATH
    user_output=/user_account/mis;export user_output
    alias ls='ls -aF'
    umask=022
    lp01=alp1;export lp01
    lp02=alp1;export lp02
    lp03=alp1;export lp03
    lp04=alp1;export lp04
    lp05=alp1;export lp05
    lp06=alp1;export lp06
    lp07=alp1;export lp07
    lp08=alp1;export lp08
    lp09=alp1;export lp09
    lp10=ps401;export lp10
    lpc=alp1;export lpc
    cd /dsk8/ciame
    f60run mis_menu xxxx/xxx@xxx
    exit
    Edited by: ck on Mar 5, 2012 11:05 PM
    Edited by: ck on Mar 5, 2012 11:08 PM

  • How to Read Texts in ME22N or ME23N to PO Print Form

    Hi Anybody,
          I want read  ItemText, Info Record POText, Material POText, Delivery Text... from ME22N or ME23N in Smartforms from Each PO Item and Print into PO Print  Form.
    Can u please anybody answer me.
    Thanks,
    S.Muthu.

    Hi this will help u.
    *&  Include           ZMFM06PE02
      Smart Form Print Routines                                          *
    form entry_neu using ent_retco ent_screen.
      data: l_druvo like t166k-druvo,
            l_nast  like nast,
            l_from_memory,
            l_doc   type meein_purchase_doc_print.
      data: ls_print_data_to_read type lbbil_print_data_to_read.
      data: ls_bil_invoice type lbbil_invoice.
      data: lf_fm_name            type rs38l_fnam.
      data: ls_control_param      type ssfctrlop.
      data: ls_composer_param     type ssfcompop.
      data: ls_recipient          type swotobjid.
      data: ls_sender             type swotobjid.
      data: lf_formname           type tdsfname.
      data: ls_addr_key           like addr_key.
      xscreen = ent_screen.
      clear ent_retco.
      if nast-aende eq space.
        l_druvo = '1'.
      else.
        l_druvo = '2'.
      endif.
      call function 'ME_READ_PO_FOR_PRINTING'
           exporting
                ix_nast        = nast
                ix_screen      = ent_screen
           importing
                ex_retco       = ent_retco
                ex_nast        = l_nast
                doc            = l_doc
           changing
                cx_druvo       = l_druvo
                cx_from_memory = l_from_memory.
      check ent_retco eq 0.
      if nast-adrnr is initial.
        perform get_addr_key
                             changing ls_addr_key.
      else.
        ls_addr_key = nast-adrnr.
      endif.
    Fill up pricing condition table if calling from ME9F
      if l_doc-xtkomv is initial.
        select * into table l_doc-xtkomv from konv
                                         where knumv = l_doc-xekko-knumv.
      endif.
    *Set the print Parameters
      perform set_print_param using     ls_addr_key
                              changing  ls_control_param
                                        ls_composer_param
                                        ls_recipient
                                        ls_sender
                                        ent_retco.
    *Get the Smart Form name.
      if not tnapr-sform is initial.
        lf_formname = tnapr-sform.
      else.
        lf_formname = tnapr-fonam.
      endif.
    Determine smartform function module for invoice
      call function 'SSF_FUNCTION_MODULE_NAME'
           exporting
                formname           = lf_formname
           importing
                fm_name            = lf_fm_name
           exceptions
                no_form            = 1
                no_function_module = 2
                others             = 3.
      if sy-subrc <> 0.
    error handling
        ent_retco = sy-subrc.
        perform protocol_update_i.
      endif.
      call function lf_fm_name
           exporting
                archive_index      = toa_dara
                archive_parameters = arc_params
                control_parameters = ls_control_param
                mail_recipient     = ls_recipient
                mail_sender        = ls_sender
                output_options     = ls_composer_param
                zxekko             = l_doc-xekko  " user_settings = ' '
                zxpekko            = l_doc-xpekko
           tables
                l_xekpo            = l_doc-xekpo[]
                l_xekpa            = l_doc-xekpa[]
                l_xpekpo           = l_doc-xpekpo[]
                l_xeket            = l_doc-xeket[]
                l_xtkomv           = l_doc-xtkomv[]
                l_xekkn            = l_doc-xekkn[]
                l_xekek            = l_doc-xekek[]
                l_xkomk            = l_xkomk
           exceptions
                formatting_error   = 1
                internal_error     = 2
                send_error         = 3
                user_canceled      = 4
                others             = 5.
      if sy-subrc <> 0.
        ent_retco = sy-subrc.
        perform protocol_update_i.
    get SmartForm protocoll and store it in the NAST protocoll
        perform add_smfrm_prot.
      endif.
    endform.
    Mahnung
    form entry_mahn using ent_retco ent_screen.
      data: l_druvo like t166k-druvo,
            l_nast  like nast,
            l_from_memory,
            l_doc   type meein_purchase_doc_print.
      clear ent_retco.
      l_druvo = '3'.
      call function 'ME_READ_PO_FOR_PRINTING'
           exporting
                ix_nast        = nast
                ix_screen      = ent_screen
           importing
                ex_retco       = ent_retco
                ex_nast        = l_nast
                doc            = l_doc
           changing
                cx_druvo       = l_druvo
                cx_from_memory = l_from_memory.
      check ent_retco eq 0.
    CALL FUNCTION 'ME_PRINT_PO'
          EXPORTING
               ix_nast        = l_nast
               ix_druvo       = l_druvo
               doc            = l_doc
               ix_screen      = ent_screen
               ix_from_memory = l_from_memory
               ix_toa_dara    = toa_dara
               ix_arc_params  = arc_params
          IMPORTING
               ex_retco       = ent_retco.
      if nast-adrnr is initial.
        perform get_addr_key
                             changing ls_addr_key.
      else.
        ls_addr_key = nast-adrnr.
      endif.
    Fill up pricing condition table if calling from ME9F
      if l_doc-xtkomv is initial.
        select * into table l_doc-xtkomv from konv
                                         where knumv = l_doc-xekko-knumv.
      endif.
    *Set the print Parameters
      perform set_print_param using      ls_addr_key
                                changing ls_control_param
                                         ls_composer_param
                                         ls_recipient
                                         ls_sender
                                         ent_retco.
    *Get the Smart Form name.
      if not tnapr-sform is initial.
        lf_formname = tnapr-sform.
      else.
        lf_formname = tnapr-fonam.
      endif.
    determine smartform function module for invoice
      call function 'SSF_FUNCTION_MODULE_NAME'
           exporting
                formname           = lf_formname
           importing
                fm_name            = lf_fm_name
           exceptions
                no_form            = 1
                no_function_module = 2
                others             = 3.
      if sy-subrc <> 0.
    error handling
        ent_retco = sy-subrc.
        perform protocol_update_i.
      endif.
      call function lf_fm_name
           exporting
                archive_index      = toa_dara
                archive_parameters = arc_params
                control_parameters = ls_control_param
                mail_recipient     = ls_recipient
                mail_sender        = ls_sender
                output_options     = ls_composer_param
                zxekko             = l_doc-xekko  " user_settings = ' '
                zxpekko            = l_doc-xpekko
           tables
                l_xekpo            = l_doc-xekpo[]
                l_xekpa            = l_doc-xekpa[]
                l_xpekpo           = l_doc-xpekpo[]
                l_xeket            = l_doc-xeket[]
                l_xtkomv           = l_doc-xtkomv[]
                l_xekkn            = l_doc-xekkn[]
                l_xekek            = l_doc-xekek[]
                l_xkomk            = l_xkomk
           exceptions
                formatting_error   = 1
                internal_error     = 2
                send_error         = 3
                user_canceled      = 4
                others             = 5.
      if sy-subrc <> 0.
        ent_retco = sy-subrc.
        perform protocol_update_i.
    get SmartForm protocoll and store it in the NAST protocoll
        perform add_smfrm_prot.
      endif.
    endform.
    *eject
    Auftragsbestatigungsmahnung
    form entry_aufb using ent_retco ent_screen.
      data: l_druvo like t166k-druvo,
            l_nast  like nast,
            l_from_memory,
            l_doc   type meein_purchase_doc_print.
      clear ent_retco.
      l_druvo = '7'.
      call function 'ME_READ_PO_FOR_PRINTING'
           exporting
                ix_nast        = nast
                ix_screen      = ent_screen
           importing
                ex_retco       = ent_retco
                ex_nast        = l_nast
                doc            = l_doc
           changing
                cx_druvo       = l_druvo
                cx_from_memory = l_from_memory.
      check ent_retco eq 0.
    CALL FUNCTION 'ME_PRINT_PO'
          EXPORTING
               ix_nast        = l_nast
               ix_druvo       = l_druvo
               doc            = l_doc
               ix_screen      = ent_screen
               ix_from_memory = l_from_memory
               ix_toa_dara    = toa_dara
               ix_arc_params  = arc_params
          IMPORTING
               ex_retco       = ent_retco.
      if nast-adrnr is initial.
        perform get_addr_key changing ls_addr_key.
      else.
        ls_addr_key = nast-adrnr.
      endif.
    Fill up pricing condition table if calling from ME9F
      if l_doc-xtkomv is initial.
        select * into table l_doc-xtkomv from konv
        where knumv = l_doc-xekko-knumv.
      endif.
    *Set the print Parameters
      perform set_print_param using    ls_addr_key
                              changing ls_control_param
                                       ls_composer_param
                                       ls_recipient
                                       ls_sender
                                       ent_retco.
    *Get the Smart Form name.
      if not tnapr-sform is initial.
        lf_formname = tnapr-sform.
      else.
        lf_formname = tnapr-fonam.
      endif.
    determine smartform function module for invoice
      call function 'SSF_FUNCTION_MODULE_NAME'
           exporting
                formname           = lf_formname
           importing
                fm_name            = lf_fm_name
           exceptions
                no_form            = 1
                no_function_module = 2
                others             = 3.
      if sy-subrc <> 0.
    error handling
        ent_retco = sy-subrc.
        perform protocol_update_i.
      endif.
      call function lf_fm_name
           exporting
                archive_index      = toa_dara
                archive_parameters = arc_params
                control_parameters = ls_control_param
                mail_recipient     = ls_recipient
                mail_sender        = ls_sender
                output_options     = ls_composer_param
                zxekko             = l_doc-xekko  " user_settings = ' '
                zxpekko            = l_doc-xpekko
           tables
                l_xekpo            = l_doc-xekpo[]
                l_xekpa            = l_doc-xekpa[]
                l_xpekpo           = l_doc-xpekpo[]
                l_xeket            = l_doc-xeket[]
                l_xtkomv           = l_doc-xtkomv[]
                l_xekkn            = l_doc-xekkn[]
                l_xekek            = l_doc-xekek[]
                l_xkomk            = l_xkomk
           exceptions
                formatting_error   = 1
                internal_error     = 2
                send_error         = 3
                user_canceled      = 4
                others             = 5.
      if sy-subrc <> 0.
        ent_retco = sy-subrc.
        perform protocol_update_i.
    get SmartForm protocoll and store it in the NAST protocoll
        perform add_smfrm_prot.
      endif.
    endform.
    *eject
    Lieferabrufdruck fur Formular MEDRUCK mit Fortschrittszahlen
    form entry_lphe using ent_retco ent_screen.
      data: l_druvo like t166k-druvo,
            l_nast  like nast,
            l_from_memory,
            l_xfz,
            l_doc   type meein_purchase_doc_print.
      clear ent_retco.
      l_druvo = '9'.
      l_xfz = 'X'.
      call function 'ME_READ_PO_FOR_PRINTING'
           exporting
                ix_nast        = nast
                ix_screen      = ent_screen
           importing
                ex_retco       = ent_retco
                ex_nast        = l_nast
                doc            = l_doc
           changing
                cx_druvo       = l_druvo
                cx_from_memory = l_from_memory.
      check ent_retco eq 0.
      if nast-adrnr is initial.
        perform get_addr_key
                             changing ls_addr_key.
      else.
        ls_addr_key = nast-adrnr.
      endif.
      perform set_print_param using      ls_addr_key
                                changing ls_control_param
                                         ls_composer_param
                                         ls_recipient
                                         ls_sender
                                         ent_retco.
    *Get the Smart Form name.
      if not tnapr-sform is initial.
        lf_formname = tnapr-sform.
      else.
        lf_formname = tnapr-fonam.
      endif.
    determine smartform function module for invoice
      call function 'SSF_FUNCTION_MODULE_NAME'
           exporting  formname           = lf_formname
                    variant            = ' '
                    direct_call        = ' '
           importing  fm_name            = lf_fm_name
           exceptions no_form            = 1
                      no_function_module = 2
                      others             = 3.
      if sy-subrc <> 0.
      error handling
        ent_retco = sy-subrc.
        perform protocol_update_i.
      endif.
    move the value
      move-corresponding l_doc-xekko to l_zekko.
      move-corresponding l_doc-xpekko to l_xpekko.
      l_xekpo[] = l_doc-xekpo[].
      l_xekpa[] = l_doc-xekpa[].
      l_xpekpo[] = l_doc-xpekpo[].
      l_xeket[] = l_doc-xeket[].
      l_xtkomv[] = l_doc-xtkomv[].
      l_xekkn[] = l_doc-xekkn[].
      l_xekek[] = l_doc-xekek[].
    *l_xaend[]    = l_doc-xaend[].
      call function lf_fm_name
        exporting
         archive_index              = toa_dara
      ARCHIVE_INDEX_TAB          =
         archive_parameters         = arc_params
         control_parameters         = ls_control_param
      MAIL_APPL_OBJ              =
         mail_recipient             = ls_recipient
         mail_sender                = ls_sender
         output_options             = ls_composer_param
         user_settings              = ' '
          zxekko                     = l_zekko
          zxpekko                    = l_xpekko
      l_xaend                    = l_xaend
       IMPORTING
      DOCUMENT_OUTPUT_INFO       =
      JOB_OUTPUT_INFO            =
      JOB_OUTPUT_OPTIONS         =
        tables
          l_xekpo                    = l_xekpo
          l_xekpa                    = l_xekpa
          l_xpekpo                   = l_xpekpo
          l_xeket                    = l_xeket
          l_xtkomv                   = l_xtkomv
          l_xekkn                    = l_xekkn
          l_xekek                    = l_xekek
          l_xkomk                    = l_xkomk
       l_xaend                    = l_xaend
    EXCEPTIONS
      FORMATTING_ERROR           = 1
      INTERNAL_ERROR             = 2
      SEND_ERROR                 = 3
      USER_CANCELED              = 4
      OTHERS                     = 5
      if sy-subrc <> 0.
        ent_retco = sy-subrc.
        perform protocol_update_i.
        perform add_smfrm_prot.
      endif.
    endform.
    *eject
    Lieferabrufdruck fur Formular MEDRUCK ohne Fortschrittszahlen
    form entry_lphe_cd using ent_retco ent_screen.
      data: l_druvo like t166k-druvo,
            l_nast  like nast,
            l_from_memory,
            l_doc   type meein_purchase_doc_print.
      clear ent_retco.
      l_druvo = '9'.
      call function 'ME_READ_PO_FOR_PRINTING'
           exporting
                ix_nast        = nast
                ix_screen      = ent_screen
           importing
                ex_retco       = ent_retco
                ex_nast        = l_nast
                doc            = l_doc
           changing
                cx_druvo       = l_druvo
                cx_from_memory = l_from_memory.
      check ent_retco eq 0.
      if nast-adrnr is initial.
        perform get_addr_key
                             changing ls_addr_key.
      else.
        ls_addr_key = nast-adrnr.
      endif.
      perform set_print_param using      ls_addr_key
                                changing ls_control_param
                                         ls_composer_param
                                         ls_recipient
                                         ls_sender
                                         ent_retco.
      lf_formname = tnapr-fonam.
    determine smartform function module for invoice
      call function 'SSF_FUNCTION_MODULE_NAME'
           exporting  formname           = lf_formname
                    variant            = ' '
                    direct_call        = ' '
           importing  fm_name            = lf_fm_name
           exceptions no_form            = 1
                      no_function_module = 2
                      others             = 3.
      if sy-subrc <> 0.
      error handling
        ent_retco = sy-subrc.
        perform protocol_update_i.
      endif.
    move the value
      move-corresponding l_doc-xekko to l_zekko.
      move-corresponding l_doc-xpekko to l_xpekko.
      l_xekpo[] = l_doc-xekpo[].
      l_xekpa[] = l_doc-xekpa[].
      l_xpekpo[] = l_doc-xpekpo[].
      l_xeket[] = l_doc-xeket[].
      l_xtkomv[] = l_doc-xtkomv[].
      l_xekkn[] = l_doc-xekkn[].
      l_xekek[] = l_doc-xekek[].
    l_xaend[]    = l_doc-xaend[].
      call function lf_fm_name
        exporting
         archive_index              = toa_dara
      ARCHIVE_INDEX_TAB          =
         archive_parameters         = arc_params
         control_parameters         = ls_control_param
      MAIL_APPL_OBJ              =
         mail_recipient             = ls_recipient
         mail_sender                = ls_sender
         output_options             = ls_composer_param
         user_settings              = ' '
          zxekko                     = l_zekko
          zxpekko                    = l_xpekko
      l_xaend                    = l_xaend
       IMPORTING
      DOCUMENT_OUTPUT_INFO       =
      JOB_OUTPUT_INFO            =
      JOB_OUTPUT_OPTIONS         =
        tables
          l_xekpo                    = l_xekpo
          l_xekpa                    = l_xekpa
          l_xpekpo                   = l_xpekpo
          l_xeket                    = l_xeket
          l_xtkomv                   = l_xtkomv
          l_xekkn                    = l_xekkn
          l_xekek                    = l_xekek
          l_xkomk                    = l_xkomk
       l_xaend                    = l_xaend
    EXCEPTIONS
      FORMATTING_ERROR           = 1
      INTERNAL_ERROR             = 2
      SEND_ERROR                 = 3
      USER_CANCELED              = 4
      OTHERS                     = 5
      if sy-subrc <> 0.
        ent_retco = sy-subrc.
        perform protocol_update_i.
        perform add_smfrm_prot.
      endif.
    endform.
    *eject
    Feinabrufdruck fur Formular MEDRUCK mit Fortschrittszahlen
    form entry_lpje using ent_retco ent_screen.
      data: l_druvo like t166k-druvo,
            l_nast  like nast,
            l_from_memory,
            l_xfz,
            l_doc   type meein_purchase_doc_print.
      clear ent_retco.
      l_druvo = 'A'.
      l_xfz = 'X'.
      call function 'ME_READ_PO_FOR_PRINTING'
           exporting
                ix_nast        = nast
                ix_screen      = ent_screen
           importing
                ex_retco       = ent_retco
                ex_nast        = l_nast
                doc            = l_doc
           changing
                cx_druvo       = l_druvo
                cx_from_memory = l_from_memory.
      check ent_retco eq 0.
      if nast-adrnr is initial.
        perform get_addr_key
                             changing ls_addr_key.
      else.
        ls_addr_key = nast-adrnr.
      endif.
      perform set_print_param using      ls_addr_key
                                changing ls_control_param
                                         ls_composer_param
                                         ls_recipient
                                         ls_sender
                                         ent_retco.
      lf_formname = tnapr-fonam.
    determine smartform function module for invoice
      call function 'SSF_FUNCTION_MODULE_NAME'
           exporting  formname           = lf_formname
                    variant            = ' '
                    direct_call        = ' '
           importing  fm_name            = lf_fm_name
           exceptions no_form            = 1
                      no_function_module = 2
                      others             = 3.
      if sy-subrc <> 0.
      error handling
        ent_retco = sy-subrc.
        perform protocol_update_i.
      endif.
    move the value
      move-corresponding l_doc-xekko to l_zekko.
      move-corresponding l_doc-xpekko to l_xpekko.
      l_xekpo[] = l_doc-xekpo[].
      l_xekpa[] = l_doc-xekpa[].
      l_xpekpo[] = l_doc-xpekpo[].
      l_xeket[] = l_doc-xeket[].
      l_xtkomv[] = l_doc-xtkomv[].
      l_xekkn[] = l_doc-xekkn[].
      l_xekek[] = l_doc-xekek[].
    l_xaend[]    = l_doc-xaend[].
      call function lf_fm_name
        exporting
         archive_index              = toa_dara
      ARCHIVE_INDEX_TAB          =
         archive_parameters         = arc_params
         control_parameters         = ls_control_param
      MAIL_APPL_OBJ              =
         mail_recipient             = ls_recipient
         mail_sender                = ls_sender
         output_options             = ls_composer_param
         user_settings              = ' '
          zxekko                     = l_zekko
          zxpekko                    = l_xpekko
      l_xaend                    = l_xaend
       IMPORTING
      DOCUMENT_OUTPUT_INFO       =
      JOB_OUTPUT_INFO            =
      JOB_OUTPUT_OPTIONS         =
        tables
          l_xekpo                    = l_xekpo
          l_xekpa                    = l_xekpa
          l_xpekpo                   = l_xpekpo
          l_xeket                    = l_xeket
          l_xtkomv                   = l_xtkomv
          l_xekkn                    = l_xekkn
          l_xekek                    = l_xekek
          l_xkomk                    = l_xkomk
       l_xaend                    = l_xaend
    EXCEPTIONS
      FORMATTING_ERROR           = 1
      INTERNAL_ERROR             = 2
      SEND_ERROR                 = 3
      USER_CANCELED              = 4
      OTHERS                     = 5
      if sy-subrc <> 0.
        ent_retco = sy-subrc.
        perform protocol_update_i.
        perform add_smfrm_prot.
      endif.
    endform.
    *eject
    Feinabrufdruck fur Formular MEDRUCK ohne Fortschrittszahlen
    form entry_lpje_cd using ent_retco ent_screen.
      data: l_druvo like t166k-druvo,
            l_nast  like nast,
            l_from_memory,
            l_doc   type meein_purchase_doc_print.
      clear ent_retco.
      l_druvo = 'A'.
      call function 'ME_READ_PO_FOR_PRINTING'
           exporting
                ix_nast        = nast
                ix_screen      = ent_screen
           importing
                ex_retco       = ent_retco
                ex_nast        = l_nast
                doc            = l_doc
           changing
                cx_druvo       = l_druvo
                cx_from_memory = l_from_memory.
      check ent_retco eq 0.
      if nast-adrnr is initial.
        perform get_addr_key
                             changing ls_addr_key.
      else.
        ls_addr_key = nast-adrnr.
      endif.
      perform set_print_param using      ls_addr_key
                                changing ls_control_param
                                         ls_composer_param
                                         ls_recipient
                                         ls_sender
                                         ent_retco.
      lf_formname = tnapr-fonam.
    determine smartform function module for invoice
      call function 'SSF_FUNCTION_MODULE_NAME'
           exporting  formname           = lf_formname
                    variant            = ' '
                    direct_call        = ' '
           importing  fm_name            = lf_fm_name
           exceptions no_form            = 1
                      no_function_module = 2
                      others             = 3.
      if sy-subrc <> 0.
      error handling
        ent_retco = sy-subrc.
        perform protocol_update_i.
      endif.
    move the value
      move-corresponding l_doc-xekko to l_zekko.
      move-corresponding l_doc-xpekko to l_xpekko.
      l_xekpo[] = l_doc-xekpo[].
      l_xekpa[] = l_doc-xekpa[].
      l_xpekpo[] = l_doc-xpekpo[].
      l_xeket[] = l_doc-xeket[].
      l_xtkomv[] = l_doc-xtkomv[].
      l_xekkn[] = l_doc-xekkn[].
      l_xekek[] = l_doc-xekek[].
    l_xaend[]    = l_doc-xaend[].
      call function lf_fm_name
        exporting
         archive_index              = toa_dara
      ARCHIVE_INDEX_TAB          =
         archive_parameters         = arc_params
         control_parameters         = ls_control_param
      MAIL_APPL_OBJ              =
         mail_recipient             = ls_recipient
         mail_sender                = ls_sender
         output_options             = ls_composer_param
         user_settings              = ' '
          zxekko                     = l_zekko
          zxpekko                    = l_xpekko
      l_xaend                    = l_xaend
       IMPORTING
      DOCUMENT_OUTPUT_INFO       =
      JOB_OUTPUT_INFO            =
      JOB_OUTPUT_OPTIONS         =
        tables
          l_xekpo                    = l_xekpo
          l_xekpa                    = l_xekpa
          l_xpekpo                   = l_xpekpo
          l_xeket                    = l_xeket
          l_xtkomv                   = l_xtkomv
          l_xekkn                    = l_xekkn
          l_xekek                    = l_xekek
          l_xkomk                    = l_xkomk
       l_xaend                    = l_xaend
    EXCEPTIONS
      FORMATTING_ERROR           = 1
      INTERNAL_ERROR             = 2
      SEND_ERROR                 = 3
      USER_CANCELED              = 4
      OTHERS                     = 5
      if sy-subrc <> 0.
        ent_retco = sy-subrc.
        perform protocol_update_i.
        perform add_smfrm_prot.
      endif.
    endform.
    *eject
      INCLUDE FM06PE02                                                   *
    form entry_neu_matrix using ent_retco ent_screen.
      data: l_druvo like t166k-druvo,
            l_nast  like nast,
            l_from_memory,
            l_doc   type meein_purchase_doc_print.
      clear ent_retco.
      if nast-aende eq space.
        l_druvo = '1'.
      else.
        l_druvo = '2'.
      endif.
      call function 'ME_READ_PO_FOR_PRINTING'
           exporting
                ix_nast        = nast
                ix_screen      = ent_screen
           importing
                ex_retco       = ent_retco
                ex_nast        = l_nast
                doc            = l_doc
           changing
                cx_druvo       = l_druvo
                cx_from_memory = l_from_memory.
      check ent_retco eq 0.
      if nast-adrnr is initial.
        perform get_addr_key
                             changing ls_addr_key.
      else.
        ls_addr_key = nast-adrnr.
      endif.
      perform set_print_param using      ls_addr_key
                                changing ls_control_param
                                         ls_composer_param
                                         ls_recipient
                                         ls_sender
                                         ent_retco.
      lf_formname = tnapr-fonam.
    determine smartform function module for invoice
      call function 'SSF_FUNCTION_MODULE_NAME'
           exporting  formname           = lf_formname
                    variant            = ' '
                    direct_call        = ' '
           importing  fm_name            = lf_fm_name
           exceptions no_form            = 1
                      no_function_module = 2
                      others             = 3.
      if sy-subrc <> 0.
      error handling
        ent_retco = sy-subrc.
        perform protocol_update_i.
      endif.
    move the value
      move-corresponding l_doc-xekko to l_zekko.
      move-corresponding l_doc-xpekko to l_xpekko.
      l_xekpo[] = l_doc-xekpo[].
      l_xekpa[] = l_doc-xekpa[].
      l_xpekpo[] = l_doc-xpekpo[].
      l_xeket[] = l_doc-xeket[].
      l_xtkomv[] = l_doc-xtkomv[].
      l_xekkn[] = l_doc-xekkn[].
      l_xekek[] = l_doc-xekek[].
    l_xaend[]    = l_doc-xaend[].
      call function lf_fm_name
        exporting
         archive_index              = toa_dara
      ARCHIVE_INDEX_TAB          =
         archive_parameters         = arc_params
         control_parameters         = ls_control_param
      MAIL_APPL_OBJ              =
         mail_recipient             = ls_recipient
         mail_sender                = ls_sender
         output_options             = ls_composer_param
         user_settings              = ' '
          zxekko                     = l_zekko
          zxpekko                    = l_xpekko
      l_xaend                    = l_xaend
       IMPORTING
      DOCUMENT_OUTPUT_INFO       =
      JOB_OUTPUT_INFO            =
      JOB_OUTPUT_OPTIONS         =
        tables
          l_xekpo                    = l_xekpo
          l_xekpa                    = l_xekpa
          l_xpekpo                   = l_xpekpo
          l_xeket                    = l_xeket
          l_xtkomv                   = l_xtkomv
          l_xekkn                    = l_xekkn
          l_xekek                    = l_xekek
          l_xkomk                    = l_xkomk
       l_xaend                    = l_xaend
    EXCEPTIONS
      FORMATTING_ERROR           = 1
      INTERNAL_ERROR             = 2
      SEND_ERROR                 = 3
      USER_CANCELED              = 4
      OTHERS                     = 5
      if sy-subrc <> 0.
        ent_retco = sy-subrc.
        perform protocol_update_i.
        perform add_smfrm_prot.
      endif.
    endform.
    *eject
    Angebotsabsage
    form entry_absa using ent_retco ent_screen.
      data: l_druvo like t166k-druvo,
            l_nast  like nast,
            l_from_memory,
            l_doc   type meein_purchase_doc_print.
      l_druvo = '4'.
      clear ent_retco.
      call function 'ME_READ_PO_FOR_PRINTING'
           exporting
                ix_nast        = nast
                ix_screen      = ent_screen
           importing
                ex_retco       = ent_retco
                ex_nast        = l_nast
                doc            = l_doc
           changing
                cx_druvo       = l_druvo
                cx_from_memory = l_from_memory.
      check ent_retco eq 0.
      if nast-adrnr is initial.
        perform get_addr_key
                             changing ls_addr_key.
      else.
        ls_addr_key = nast-adrnr.
      endif.
      perform set_print_param using      ls_addr_key
                                changing ls_control_param
                                         ls_composer_param
                                         ls_recipient
                                         ls_sender
                                         ent_retco.
      lf_formname = tnapr-fonam.
    determine smartform function module for invoice
      call function 'SSF_FUNCTION_MODULE_NAME'
           exporting  formname           = lf_formname
                    variant            = ' '
                    direct_call        = ' '
           importing  fm_name            = lf_fm_name
           exceptions no_form            = 1
                      no_function_module = 2
                      others             = 3.
      if sy-subrc <> 0.
      error handling
        ent_retco = sy-subrc.
        perform protocol_update_i.
      endif.
    move the value
      move-corresponding l_doc-xekko to l_zekko.
      move-corresponding l_doc-xpekko to l_xpekko.
      l_xekpo[] = l_doc-xekpo[].
      l_xekpa[] = l_doc-xekpa[].
      l_xpekpo[] = l_doc-xpekpo[].
      l_xeket[] = l_doc-xeket[].
      l_xtkomv[] = l_doc-xtkomv[].
      l_xekkn[] = l_doc-xekkn[].
      l_xekek[] = l_doc-xekek[].
    l_xaend[]    = l_doc-xaend[].
      call function lf_fm_name
        exporting
         archive_index              = toa_dara
      ARCHIVE_INDEX_TAB          =
         archive_parameters         = arc_params
         control_parameters         = ls_control_param
      MAIL_APPL_OBJ              =
         mail_recipient             = ls_recipient
         mail_sender                = ls_sender
         output_options             = ls_composer_param
         user_settings              = ' '
          zxekko                     = l_zekko
          zxpekko                    = l_xpekko
      l_xaend                    = l_xaend
       IMPORTING
      DOCUMENT_OUTPUT_INFO       =
      JOB_OUTPUT_INFO            =
      JOB_OUTPUT_OPTIONS         =
        tables
          l_xekpo                    = l_xekpo
          l_xekpa                    = l_xekpa
          l_xpekpo                   = l_xpekpo
          l_xeket                    = l_xeket
          l_xtkomv                   = l_xtkomv
          l_xekkn                    = l_xekkn
          l_xekek                    = l_xekek
          l_xkomk                    = l_xkomk
       l_xaend                    = l_xaend
    EXCEPTIONS
      FORMATTING_ERROR           = 1
      INTERNAL_ERROR             = 2
      SEND_ERROR                 = 3
      USER_CANCELED              = 4
      OTHERS                     = 5
      if sy-subrc <> 0.
        ent_retco = sy-subrc.
        perform protocol_update_i.
        perform add_smfrm_prot.
      endif.
    endform.
    *eject
    Lieferplaneinteilung
    form entry_lpet using ent_retco ent_screen.
      data: l_druvo like t166k-druvo,
            l_nast  like nast,
            l_from_memory,
            l_doc   type meein_purchase_doc_print.
      data: l_zekko like ekko,
            l_xpekko like pekko,
            l_xekpo like table of ekpo,
            l_wa_xekpo like ekpo.
      data: l_xekpa like ekpa occurs 0,
            l_wa_xekpa like ekpa.
      data: l_xpekpo  like pekpo occurs 0,
            l_wa_xpekpo like pekpo,
            l_xeket   like table of eket with header line,
            l_xekkn  like table of ekkn with header line,
            l_xekek  like table of ekek with header line,
            l_xekeh   like table of ekeh with header line,
            l_xkomk like table of komk with header line,
            l_xtkomv  type komv occurs 0,
            l_wa_xtkomv type komv.
      data: ls_addr_key           like addr_key.
      clear ent_retco.
      if nast-aende eq space.
        l_druvo = '5'.
      else.
        l_druvo = '8'.
      endif.
      call function 'ME_READ_PO_FOR_PRINTING'
           exporting
                ix_nast        = nast
                ix_screen      = ent_screen
           importing
                ex_retco       = ent_retco
                ex_nast        = l_nast
                doc            = l_doc
           changing
                cx_druvo       = l_druvo
                cx_from_memory = l_from_memory.
      check ent_retco eq 0.
      if nast-adrnr is initial.
        perform get_addr_key
                             changing ls_addr_key.
      else.
        ls_addr_key = nast-adrnr.
      endif.
      perform set_print_param using      ls_addr_key
                                changing ls_control_param
                                         ls_composer_param
                                         ls_recipient
                                         ls_sender
                                         ent_retco.
    *Get the Smart Form name.
      if not tnapr-sform is initial.
        lf_formname = tnapr-sform.
      else.
        lf_formname = tnapr-fonam.
      endif.
    determine smartform function module for invoice
      call function 'SSF_FUNCTION_MODULE_NAME'
           exporting  formname           = lf_formname
                    variant            = ' '
                    direct_call        = ' '
           importing  fm_name            = lf_fm_name
           exceptions no_form            = 1
                      no_function_module = 2
                      others             = 3.
      if sy-subrc <> 0.
      error handling
        ent_retco = sy-subrc.
        perform protocol_update_i.
      endif.
    move the value
      move-corresponding l_doc-xekko to l_zekko.
      move-corresponding l_doc-xpekko to l_xpekko.
      l_xekpo[] = l_doc-xekpo[].
      l_xekpa[] = l_doc-xekpa[].
      l_xpekpo[] = l_doc-xpekpo[].
      l_xeket[] = l_doc-xeket[].
      l_xtkomv[] = l_doc-xtkomv[].
      l_xekkn[] = l_doc-xekkn[].
      l_xekek[] = l_doc-xekek[].
      call function lf_fm_name
        exporting
         archive_index              = toa_dara
      ARCHIVE_INDEX_TAB          =
         archive_parameters         = arc_params
         control_parameters         = ls_control_param
      MAIL_APPL_OBJ              =
         mail_recipient             = ls_recipient
         mail_sender                = ls_sender
         output_options             = ls_composer_param
         user_settings              = ' '
          zxekko                     = l_zekko
          zxpekko                    = l_xpekko
      l_xaend                    = l_xaend
       IMPORTING
      DOCUMENT_OUTPUT_INFO       =
      JOB_OUTPUT_INFO            =
      JOB_OUTPUT_OPTIONS         =
        tables
          l_xekpo                    = l_xekpo
          l_xekpa                    = l_xekpa
          l_xpekpo                   = l_xpekpo
          l_xeket                    = l_xeket
          l_xtkomv                   = l_xtkomv
          l_xekkn                    = l_xekkn
          l_xekek                    = l_xekek
          l_xkomk                    = l_xkomk
    exceptions
       formatting_error           = 1
       internal_error             = 2

  • Print Form using Output Type

    Hey Guys,
           Can any one tell me how can i Print a SMARTFORM using its Output Type. Should i hav eto do anything with Print Program stuff.
           Helpful answers will be rewarded.
    Thanks,
    Prashanth

    You will have to call the SMART Form from your print program. The print program will be called by the standard SAP code, using the configuration that you will have to do in the NACE transaction.
    Choose the specific application in NACE transaction, click on the output types. now, choose the output type, and clock the Mail and processing routintes and you can configure your print program and form here.
    In side the program you will call the form.
    Regards,
    Ravi

  • General BADi question:Call BADi in background job/batch input. Possible?

    Hi out there,
    i'm using thoe following BADi: /SAPSLL/CTRL_SD0C_R3 (Global Trade Service).
    But also, this question is a general question.
    If we are calling on screen the transaction VF01, the BADi is called correctly.
    But unfortunately it seemes that the BADi is NOT called (im not really sure, cause i can't debug the background task) when we are calling a batch input sequence wth f.e. form bdc_transaction VF01 nothing happens.
    Maybe BADi cannot be called in a background task? If it's possible, how could it be monitored. Thare isw no spool entry or anything like that!
    Any answer can help.
    Thank you in advance!
    Regards,
    Timo
    Edited by: Timo Ehl on Apr 14, 2009 7:27 PM

    Hi,
    generally BADIs are called in background mode. You can use the following trick to debug your BADI. You just need to create an infinite loop in your BADI implementation. Something like this.
    DATA: l_a TYPE c.
    WHILE l_a IS INITIAL.
    ENDWHILE.
    Obviously when your BADI is called in background mode then program will get into infinite loop. You can easily connect and debug running programs from transaction SM50. You need to select your background process and go to Program/Session -> Program -> Debugging. You will jump directly into your BADI methos with infinite loop. Then you will just set value to l_a and you will start debugging your BADI. If you can not find any process then your BADI is not called in background mode.
    Cheers

  • Call to form from class.

    Hello experts,
    In my class i call to form that exist in another program, when i push click on the form i can't  see the perform in my class, i gave message like this:
    " Subroutine CL_GET_STOCK_1 not found in Programs  (possibly dynamic calls!)".
    How can i see the parent of my form that exist in my class with click on the form that exist in another  program?
    Thanks for the help.
    Avi.
    Edited by: avi azulay on Aug 15, 2010 11:40 AM

    [http://help.sap.com/abapdocu_70/en/ABAPPERFORM_FORM.htm#&ABAP_ALTERNATIVE_2@2@]
    When you click on the PERFORM in this case it'll navigate to the corres. program where your FORM is defined.
    I was assuming you're clicking on the FORM & it's not navigating to the PERFORM, my bad !!
    So have you written the PERFORM in the class method & it is not navigating to the FORM when you click on it, correct? See if regenerating the method helps you. You can try:
    1. In the method do Utilities --> Update Navigation Index.
    2. After Step 1, in the class do Utilities --> Regenerate Sections.
    See if this helps.
    BR,
    Suhas

Maybe you are looking for

  • CRM WEBUI/IC - Linked Object in ECC

    Hi Gurus We have a requirement whereby processes on SAP ECC (Example PSCD Contract) result in a Service Request or Business Activity getting created on CRM. We want to attach a reference to the PSCD Contract in the CRM One Order Object. Sort of like

  • Problem with widget download on Dashboard

    I can't download widgets on my Dashboard. My security preferences don't permit widget downloads. What can I do?

  • Video Out Struggle

    Hey, I read all of the display/out threads and I can't solve my problem. I bought the S/video out cable for my new ibook g4, and it's hooked up. TV -> S/video -> apple svideo hookup -> comp. But i'm getting no sound or signal. My question is, what do

  • Pantone Swatches Panel Not Persistent

    Sorry if it seems like this has been covered, but I've searched through the forums and can't find a solution. Bog-standard install of CS 5.5 Design Standard suite on a Mac, OS 10.7.3, everything is up to date. No networking, all apps insatlled locall

  • /dev/lom missing

    Hi, Even though our SUN Netra 210 does have ALOM working fine, /dev/lom is not present on Solaris 9. I already tried to install SUNWlomr, SUNWlomu and SUNWlomm, but the problem remains. Does any know why /dev/lom is not showing up? Is it possible to