Submit background job in APEX -- count on all_jobs return shadow jobs.

Hi, I am trying to submit a job in APEX. The setups are as below:
On Submit - After Computation and Validations
Run Process: Once Per Page Visit
Process:
DECLARE
v_instance_cnt NUMBER;
job_no NUMBER;
BEGIN
SELECT COUNT(0)
INTO v_instance_cnt
FROM user_jobs
WHERE what LIKE 'pagl_refresh.master_refresh%';
IF NVL(v_instance_cnt,0) = 0 THEN
DBMS_JOB.SUBMIT(job_no, 'pagl_refresh.master_refresh('''||:G_BSYS_USER_NAME||''');');
:P3_MESSAGE:= 'Job has submitted. Number is '||TO_CHAR(job_no);
ELSE
:P3_MESSAGE :='The refresh is in progress. Please wait ... ('||to_char(v_instance_cnt);
END IF;
END;
Now, if I run the process, the :P3_MESSAGE message returns "'The refresh is in progress. Please wait ... (5)." . This is due to the count is 5 instead of expected 0.
If I SELECT count(*) FROM dba_jobs WHERE lower(what) LIKE 'pagl_refresh.master_refresh%'; in SQLPLUS, it returns 0. Same result from all_jobs as well.
My suspect is that it returns job counts include those that has been removed before. Yet, how APEX can see this? Does APEX use some special way to look into Job queue?
Please help
Thanks

From the looks of it, the job is being submitted and run - although I would check the elapsed time to see if it's anywhere close to the 20-30 minutes you anticipate. Assuming not, I would suggest that the problem is in one of the following areas:
1. The way in which you are passing in the arguments is not conforming to the expected input format or values and it's therefore not executing as expected.
2. Your process implictly relies on the state of your apex application in some manner, which is not being reproduced within the procedure when the job is submitted.
In the former case, I would check the procedure's specification against the page items types being passed in - you might have to explicitly convert some of your arguments into the appropriate type
In the latter case, well... bearing in mind that we don't know what your procedure looks like and it's therefore kind of difficult to diagnose the problem, you'll possibly need to pass your session information into the procedure as additional parameters and re-create your session from within the code.

Similar Messages

  • Submit background job for a report

    Hai Friends,
    I want to submit a report in background which should run on first monday of every month. otherthen SM36 and SM37. Because we cant give date and time like this.
    If any coding required Pl give me the code.
    regards,
    vamsykrishna.

    This is the Basic code to Achieve that.
    Call Function 'JOB_OPEN'
    SUBMIT RSBDCBTC
    via background Job <Job info>
    With QIE = <QID Returned by BDC_OPEN_Group FM>
    AND RETURN.
    Call Function 'JOB_CLOSE'
    2) Also go through this
    DATA: lv_job_name LIKE tbtco-jobname,
    lv_job_nr LIKE tbtco-jobcount,
    lv_job_released TYPE c,
    lv_job_start_sofort TYPE c,
    lv_print_parameters TYPE pri_params.
    lv_job_name = 'Z_BGPROGRAM'.
    CALL FUNCTION 'JOB_OPEN'
    EXPORTING
    jobname = lv_job_name
    IMPORTING
    jobcount = lv_job_nr
    EXCEPTIONS
    cant_create_job = 1
    invalid_job_data = 2
    jobname_missing = 3
    OTHERS = 4.
    IF syst-subrc = 0.
    " submit job with all the selection screen params...
    SUBMIT (lv_job_name)
    WITH applfile = applfile " these are the parameters of the background program
    WITH p_lines = p_lines
    USER syst-uname " you must use this
    VIA JOB lv_job_name NUMBER lv_job_nr AND RETURN.
    IF sy-subrc = 0.
    CALL FUNCTION 'JOB_CLOSE'
    EXPORTING
    jobcount = lv_job_nr
    jobname = lv_job_name
    strtimmed = 'X'
    IMPORTING
    job_was_released = lv_job_released
    EXCEPTIONS
    cant_start_immediate = 1
    invalid_startdate = 2
    jobname_missing = 3
    job_close_failed = 4
    job_nosteps = 5
    job_notex = 6
    lock_failed = 7
    OTHERS = 8.
    IF syst-subrc <> 0.
    MESSAGE i162(00) WITH
    'An error occured while closing the background job.'.
    STOP.
    ENDIF.
    ENDIF.
    ENDIF.
    SKIP 1.
    WRITE: / 'Background process', lv_job_name , 'called successfully' NO-GAP.
    WRITE: / 'You can check the job in transaction SM37'.

  • SPOOL Not generated in SUBMIT background job

    Hi All,
    I am submiting a report program using SUBMIT keyword. I required SPOOL. But its not generating. Can anyone kindly let me know whts wrong in my code?
    CALL FUNCTION 'GET_PRINT_PARAMETERS'
      EXPORTING
        LAYOUT                 = 'X_65_132'
        LINE_COUNT             = 65
        LINE_SIZE              = 132
      IMPORTING
        OUT_PARAMETERS         = print_parameters
        OUT_ARCHIVE_PARAMETERS = ARCPAR
        VALID                  = VAL
      EXCEPTIONS
        ARCHIVE_INFO_NOT_FOUND = 1
        INVALID_PRINT_PARAMS   = 2
        INVALID_ARCHIVE_PARAMS = 3
        OTHERS                 = 4.
      CALL FUNCTION 'JOB_OPEN'
        EXPORTING
          jobname          = name
        IMPORTING
          jobcount         = number
        EXCEPTIONS
          cant_create_job  = 1
          invalid_job_data = 2
          jobname_missing  = 3
          OTHERS           = 4.
      IF sy-subrc = 0.
          SUBMIT saprck60
                TO SAP-SPOOL                       
                SPOOL PARAMETERS print_parameters   
                WITHOUT SPOOL DYNPRO              
             WITH FREE SELECTIONS texpr
                 VIA SELECTION-SCREEN
                 WITH ck_matnr = 'Z*' SIGN 'E'
                 WITH ck_werks = p_werks
                 WITH kalaid  = wa_default-kalaid
                 WITH kaladat = sy-datum
                 WITH backgr = 'X'
           VIA JOB name NUMBER number
            AND RETURN .

    Hi,
    Try this code
    data : l_jobname   TYPE tbtcjob-jobname,
              l_jobcount  TYPE tbtcjob-jobcount,
              l_dest      TYPE pri_params-pdest VALUE 'LOCL',
              l_linsz     TYPE pri_params-linsz VALUE '999999',
              l_jobstatus TYPE tbtco-status,
              l_rqident   TYPE tsp01-rqident.
    CALL FUNCTION 'JOB_OPEN'
        EXPORTING
          jobname          = l_jobname
        IMPORTING
          jobcount         = l_jobcount
        EXCEPTIONS
          cant_create_job  = 1
          invalid_job_data = 2
          jobname_missing  = 3
          OTHERS           = 4.
      IF sy-subrc EQ 0.
    * Set default print parameters for Spool
        CALL FUNCTION 'SET_PRINT_PARAMETERS'
          EXPORTING
            destination = l_dest
            line_size   = l_linsz.
        SUBMIT saprck60
               TO SAP-SPOOL  DESTINATION l_dest
                   LINE-SIZE   l_linsz
                   IMMEDIATELY 'X'
                   KEEP IN SPOOL 'X'
                   USER sy-uname VIA JOB l_jobname NUMBER l_jobcount
                    WITHOUT SPOOL DYNPRO
                    WITH SELECTION-TABLE p_sel_opts
                     AND RETURN.
        IF sy-subrc EQ 0.
          CALL FUNCTION 'JOB_CLOSE'
            EXPORTING
              jobcount             = l_jobcount
              jobname              = l_jobname
              strtimmed            = 'X'
            EXCEPTIONS
              cant_start_immediate = 1
              invalid_startdate    = 2
              jobname_missing      = 3
              job_close_failed     = 4
              job_nosteps          = 5
              job_notex            = 6
              lock_failed          = 7
              OTHERS               = 8.
        ENDIF.
      ENDIF.
    * Check the Job status
      DO.
        CALL FUNCTION 'BDL_READ_JOB_STATUS'
          EXPORTING
            jobname       = l_jobname
            jobnumber     = l_jobcount
          IMPORTING
            jobstatus     = l_jobstatus
          EXCEPTIONS
            job_not_found = 1
            OTHERS        = 2.
        IF sy-subrc <> 0.
          MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                  WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
        ENDIF.
        IF l_jobstatus EQ 'F'.
          EXIT.
        ENDIF.
      ENDDO.
    Regards,
    Nagaraj

  • Problems creating background job for program (job open, submit and close)

    Hi gurus,
    im trying to start a background job using the FM BP_START_DATE_EDITOR to show the start date to the job or if it's imediate. this FM it's working fine, after call it im opening a job, submiting it and call the job close FM and the job close FM creates me the job.
    The problem it's when i go to the sm37 to see the job status the job has been canceled, and the job log says that i have to give a start date to the job.
    What i dont understand it's either the job is imediate or i choose a date to start the job always gives me this error...
    Below goes my code,
    any ideas will be rewarded
      CLEAR: stdt_modify_type, stdt_output.
      CALL FUNCTION 'BP_START_DATE_EDITOR'
           EXPORTING
                stdt_dialog                    = 'Y'
                stdt_input                     = stdt_input
                stdt_opcode                    = 14
           IMPORTING
                stdt_modify_type               = stdt_modify_type
                stdt_output                    = stdt_output
           EXCEPTIONS
                fcal_id_not_defined            = 1
                incomplete_last_startdate      = 2
                incomplete_startdate           = 3
                invalid_dialog_type            = 4
                invalid_eventid                = 5
                invalid_opcode                 = 6
                invalid_opmode_name            = 7
                invalid_periodbehaviour        = 8
                invalid_predecessor_jobname    = 9
                last_startdate_in_the_past     = 10
                no_period_data_given           = 11
                no_startdate_given             = 12
                period_and_predjob_no_way      = 13
                period_too_small_for_limit     = 14
                predecessor_jobname_not_unique = 15
                startdate_interval_too_large   = 16
                startdate_in_the_past          = 17
                startdate_is_a_holiday         = 18
                startdate_out_of_fcal_range    = 19
                stdt_before_holiday_in_past    = 20
                unknown_fcal_error_occured     = 21
                no_workday_nr_given            = 22
                invalid_workday_countdir       = 23
                invalid_workday_nr             = 24
                notbefore_stdt_missing         = 25
                workday_starttime_missing      = 26
                no_eventid_given               = 27
                OTHERS                         = 28.
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
        MOVE 'X' TO gv_flag.
      ENDIF.
      DATA jobname LIKE tbtcjob-jobname.
      DATA jobcount LIKE tbtcjob-jobcount.
      DATA job_release LIKE  btch0000-char1.
      DATA job_imediate TYPE c.
      CLEAR: jobname, jobcount, job_release.
      CONCATENATE 'MAPAEXEC' sy-uname sy-datum
                   INTO jobname SEPARATED BY space.
      CALL FUNCTION 'JOB_OPEN'
           EXPORTING
                jobname          = jobname
           IMPORTING
                jobcount         = jobcount
           EXCEPTIONS
                cant_create_job  = 1
                invalid_job_data = 2
                jobname_missing  = 3
                OTHERS           = 4.
      IF sy-subrc <> 0.
        MESSAGE i003(zmapas).
        EXIT.
      ENDIF.
      SUBMIT z_mapa_execucao_orcamental
             VIA JOB jobname NUMBER jobcount
             WITH ano EQ ano
             WITH so_perio IN so_perio
             WITH so_date IN so_date
             WITH so_org EQ so_org
             WITH so_num IN so_num
             AND RETURN.
      IF stdt_output-startdttyp EQ 'I'.
        CLEAR job_imediate.
        job_imediate = 'X'.
      ENDIF.
      CALL FUNCTION 'JOB_CLOSE'
           EXPORTING
                calendar_id                 = stdt_output-calendarid
                event_id                    = stdt_output-eventid
                event_param                 = stdt_output-eventparm
                event_periodic              = stdt_output-periodic  "?
                jobcount                    = jobcount
                jobname                     = jobname
                laststrtdt                  = stdt_output-laststrtdt
                laststrttm                  = stdt_output-laststrttm
                prddays                     = stdt_output-prddays  "??
                prdhours                    = stdt_output-prdhours  "?
                prdmins                     = stdt_output-prdmins  "??
                prdmonths                   = stdt_output-prdmonths
                prdweeks                    = stdt_output-prdweeks  "?
                predjob_checkstat           = stdt_output-checkstat
                pred_jobcount               = stdt_output-predjobcnt
                pred_jobname                = stdt_output-predjob
                sdlstrtdt                   = stdt_output-sdlstrtdt
                sdlstrttm                   = stdt_output-sdlstrttm
                strtimmed                   = job_imediate
                targetsystem                = stdt_output-instname
                start_on_workday_not_before = stdt_output-notbefore
                start_on_workday_nr         = stdt_output-wdayno
                workday_count_direction     = stdt_output-wdaycdir
           IMPORTING
                job_was_released            = job_release
           EXCEPTIONS
                cant_start_immediate        = 1
                invalid_startdate           = 2
                jobname_missing             = 3
                job_close_failed            = 4
                job_nosteps                 = 5
                job_notex                   = 6
                lock_failed                 = 7
                OTHERS                      = 8.
      IF sy-subrc <> 0.
        MESSAGE i003(zmapas).
        EXIT.
      ELSE.
        MESSAGE i004(zmapas) WITH jobname.
      ENDIF.
    Thanks in advance,
    Best Regards
    João Martins

    Hello João.
    In debug mode, check the value of variables you passed to parameters sdlstrtdt and sdlstrttm.
    As aditional info, I usually achieve your goal without FM BP_START_DATE_EDITOR.
    Check this code:
    CALL FUNCTION 'JOB_OPEN'
          EXPORTING
               jobname          = w_jobname
          IMPORTING
               jobcount         = w_jobcount
          EXCEPTIONS
               cant_create_job  = 1
               invalid_job_data = 2
               jobname_missing  = 3
               OTHERS           = 4.
    CHECK sy-subrc = 0.
    CLEAR seltab_wa.
    MOVE: t_jobs-param TO seltab_wa-selname,
    t_processar-line+34 TO seltab_wa-low.
    APPEND seltab_wa TO seltab.
    seltab_wa-selname = 'P_LOJA'.
    seltab_wa-low = t_processar-ficheiro+7(4).
    APPEND seltab_wa TO seltab.
    *** Submete o programa para o JOB
    SUBMIT (t_jobs-repid)
      WITH  SELECTION-TABLE seltab
      USER sy-uname
       VIA JOB w_jobname NUMBER w_jobcount
       AND RETURN.
    *** Encerra o JOB
      l_hora = sy-uzeit.
      ADD 60 TO l_hora.
    CALL FUNCTION 'JOB_CLOSE'
       EXPORTING
          jobcount           = w_jobcount
          jobname           = w_jobname
          sdlstrtdt            = sy-datum
          sdlstrttm           = l_hora
          targetserver       = w_servidor
       IMPORTING
          job_was_released     = l_liberado
       EXCEPTIONS
          cant_start_immediate = 1
          invalid_startdate    = 2
          jobname_missing      = 3
          job_close_failed     = 4
          job_nosteps          = 5
          job_notex            = 6
          lock_failed          = 7
          OTHERS               = 8.
    Regards.
    Valter Oliveira.

  • Submit RSEOUT00 as background job

    Hi all,
    Here is my requirement.There is a Z program from which RSEOUT00 program has to be called , so that it will change the Idoc status to '03'. I tried using Submit RSEOUT00..and return and also tried JOB_open and then SUBMIT rseout00 WITH docnum EQ p_idocno  user sy-uname  via  job jobname number jobcount and return and then JOB_CLOSE .I checked SM37 also where i can see this job as finished..
    I tried COMMIT WORK statement and also WAIT statement .
    But still the idoc status wont change to '03' .
    Can anyone plase advise on how to correct this .
    Regards,
    Sudheer

    Hi,
    I have created background job for RSEOUT00 and written the below code. It worked.
    DATA: w_number           TYPE tbtcjob-jobcount,
               w_name              TYPE tbtcjob-jobname VALUE 'ZTEST_JOB'.
       CALL FUNCTION 'JOB_OPEN'
         EXPORTING
           jobname          = w_name
         IMPORTING
           jobcount         = w_number
         EXCEPTIONS
           cant_create_job  = 1
           invalid_job_data = 2
           jobname_missing  = 3
           OTHERS           = 4.
       IF sy-subrc = 0.
         SUBMIT rseout00  VIA JOB w_name NUMBER w_number AND RETURN.
         IF sy-subrc = 0.
           CALL FUNCTION 'JOB_CLOSE'
             EXPORTING
               jobcount             = w_number
               jobname              = w_name
               strtimmed            = 'X'
             EXCEPTIONS
               cant_start_immediate = 1
               invalid_startdate    = 2
               jobname_missing      = 3
               job_close_failed     = 4
               job_nosteps          = 5
               job_notex            = 6
               lock_failed          = 7
               OTHERS               = 8.
           IF sy-subrc <> 0.
           ENDIF.
         ENDIF.
       ENDIF.
    Thanks,
    Appanaboina

  • How to get data from the called program using SUBMIT in a background job?

    Hi Experts,
    I've a program which creates a background job using JOB_OPEN and JOB_CLOSE function modules.
    Between the above function modules I need to call a program using SUBMIT VIA JOB statement.
    My problem is, How do I fetch some data in an internal table in the called program to the calling program after the SUBMIT statement?
    I tried to EXPORT and IMPORT the data, but they are giving a failed sy-subrc when using this background job.
    Kindly let me know your inputs and valuable suggestions.

    Kumar,
    When we execute a program as a background job then the output will be sent to Spool which needs to be fetched again.I guess we need to use Submit via spool as mentioned by Rajat.
    Check these threads to get some idea
    submit report to spool & import spool id
    Re: Generate Spool for a report
    K.Kiran.

  • Submit a job in background

    Hi,
    We have a query regarding submission of Jobs in background. If we use JOB_OPEN,JOB_CLOSE in our executable program to submit a job to run this proram with a transaction code and also schedule this job in background using SM36 the what will be the effect?

    Hi pankaj,
    1. If the program only display some data,
      and does not update anything,
      then nothing will go wrong.
    2. Both programs will run independently of each other,
      in background.
    regards,
    amit m.

  • Problem with background job using SUBMIT under different user

    Hi All,
    I am submitting a background job under different user name. I am submitting this job by using JOB_OPEN , SUBMIT report and JOB_CLOSE. But submit statement is returning sy-subrc 8, becuase of this the job_close is failed. Can you please help me to solve this problem.
    Thanks in advance.
    Tjgupta

    Hi,
    The user is having all authorizations. is there any difference with user types?
    This user is having  user type " as communication data".
    Thanks,
    Tjgupta

  • SUBMIT REPORT AS A BACKGROUND JOB

    Hi all,
       I am executing one report in foreground in that report i want to submit one report which should be executed in background only. how it is possible to execute 2nd report in <b>background mode</b> only.
    Regards
    deepak

    This is the Basic code to Achieve that.
    Call Function 'JOB_OPEN'
    SUBMIT RSBDCBTC
    via background Job <Job info>
    With QIE = <QID Returned by BDC_OPEN_Group FM>
    AND RETURN.
    Call Function 'JOB_CLOSE'
    2) Also go through this
    DATA: lv_job_name         LIKE tbtco-jobname,
    lv_job_nr           LIKE tbtco-jobcount,
    lv_job_released     TYPE c,
    lv_job_start_sofort TYPE c,
    lv_print_parameters TYPE pri_params.
    lv_job_name = 'Z_BGPROGRAM'.
      CALL FUNCTION 'JOB_OPEN'
        EXPORTING
          jobname          = lv_job_name
        IMPORTING
          jobcount         = lv_job_nr
        EXCEPTIONS
          cant_create_job  = 1
          invalid_job_data = 2
          jobname_missing  = 3
          OTHERS           = 4.
      IF syst-subrc = 0.
    " submit job with all the selection screen params...
        SUBMIT (lv_job_name)
            WITH applfile = applfile " these are the parameters of the background program
            WITH p_lines = p_lines
            USER syst-uname " you must use this
           VIA JOB lv_job_name NUMBER lv_job_nr AND RETURN.
        IF sy-subrc = 0.
          CALL FUNCTION 'JOB_CLOSE'
            EXPORTING
              jobcount             = lv_job_nr
              jobname              = lv_job_name
              strtimmed            = 'X'
            IMPORTING
              job_was_released     = lv_job_released
            EXCEPTIONS
              cant_start_immediate = 1
              invalid_startdate    = 2
              jobname_missing      = 3
              job_close_failed     = 4
              job_nosteps          = 5
              job_notex            = 6
              lock_failed          = 7
              OTHERS               = 8.
          IF syst-subrc <> 0.
            MESSAGE i162(00) WITH
            'An error occured while closing the background job.'.
            STOP.
          ENDIF.
        ENDIF.
      ENDIF.
      SKIP 1.
      WRITE: / 'Background process', lv_job_name , 'called successfully' NO-GAP.
      WRITE: / 'You can check the job in transaction SM37'.
    Thanks

  • How to submit the report in Background job.

    Hello Friends,
    In the selection screen I have 2 radio buttons one for background Process & other for foreground processing. if the user selects the background processing the program should execute in background and output need to be sent to SAP Inbox.
    Issues:
    1) If I am using the JOB_Submit FM or Report Submit the program is going to infinite loop and many continiously jobs are are being scheduled. How to avoid.
    2) Is there any best possible way to send the mail to SAP Inbox.
    Note: I am using OOALV in my program....
    Thanks,
    Ravi

    Hi,
    the first problem looks like you have an infinite recursion. You just need to avoid background scheduling again. There is a system field sy-batch. So if this field is equal to 'X' then you are already in background mode and you don't need to schedule your background job again. Another way is to split your program in two programs. The first will be responsible for scheduling or executing the second one.
    You can use FM SO_NEW_DOCUMENT_SEND_API1 to send message to workflow inbox. You need to user receiver type B. There are so many posts on this forum about sending emails from ABAP which may help you with implementing this requirement.
    Cheers

  • How to submit a program after completion of a background job

    Hi Experts,
    I have a small issue. In my report program i am calling one transaction using call transaction it will trigger a background job. After completion of this background job i need to submit another program, Because the background job updating few values, using this value only the second program functionality will works.
    Currently when i execute my report its calling 1st program and triggering the background job. Once the job started again the program triggering the next program. Here after competion of the background job only this program should submit next program. Anyone kindly suggest some clue.
        CALL TRANSACTION 'ZSAPRCK60' USING    zbdcdata
                                OPTIONS  FROM g_s_options
                                MESSAGES INTO msg_tab.
    SUBMIT SAPRCK10    VIA SELECTION-SCREEN
                        WITH kalaid = p-kalaid
                        WITH kaladat = sy-datum
                        WITH PARALLEL = 'X'
                        WITH SERVNUM = '10'
                        WITH backgr = 'X'
                        AND RETURN.
    Mohana

    Hi,
    There is one function module there which gives you the job status .. if the job is finished then the value will be 'F'.I don't exactly remember the FM but then you can search with BDLSTATUS or BDSTATUS in SE37..
    do.
    call fm BD****STATUS
    IF STATUS (IMPORT PARAMTER) eq 'F'.
    exit.
    endif.
    enddo.
    Regards,
    Nagaraj

  • How to get Current Background Job name and Job Count programmically?

    Hi all,
            I have a requirement wherein I need to get the Current Background Job name and Job Count in the program and store it in a custom table. In other words, whenever I schedule a particular program ( This is a Std program) in background, I need to update this table with the Job Name and Job Count. This will be used by another program later to read the Job Information from table TBTCO. TBTCO has key fields Job Name and Job ID. The sheduled program will be a SAP standard program and I'll be writing the logic to get the info in an Implicit Enhancement Spot.
    Is there anyway I can do this? Any FM to get this information?
    Thanks,
    Mahesh.

    Hey Adrian,
                             Thanks a lot. This is what exactly i was looking for. Appreciate it.
    Mahesh.

  • Handle submit program for background jobs in RFC FM to send email in ITS

    Hi all
    I am facing a problem in ITS, i.e. I have called a RFC Function Module on the page load event of one of the HTML template. In that FM I have used <b>submit program</b>. This RFC FM is working fine in background i.e. it is sending pdf as email to a particular email address
    but in the frontend it is not responding.
    I wanted to ask whether we can handle submit <program-name> in background job from ITS
    <b>If you are unable to understand the problem i can share with you my code as well.</b>
    Thanks
    Ekta Tuli

    Hi Tobias
    The Function Module <b>ZV_FUNC_CCK_EMAIL_PDF</b> is used to generate the email with pdf as attachement. it is generating email at backend but not in frontend.
    thanks
    ekta
    please find the code below for the FM
    FUNCTION zv_func_cck_email_pdf.
    *"*"Local interface:
    *"  IMPORTING
    *"     VALUE(CONTRACT) LIKE  VBAP-VBELN
    *"     VALUE(EMAIL) LIKE  ADR6-SMTP_ADDR
    *"  EXPORTING
    *"     VALUE(RETURN) TYPE  CHAR4
    data: i_vbak like vbak .
      DATA: v_cont(10) TYPE c.
      CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
        EXPORTING
          input  = contract
        IMPORTING
          output = v_cont.
    DATA: z_element(30)         TYPE c.
    DATA: gv_fb_addr_get_selection  LIKE addr1_sel.
    DATA:  BEGIN OF mtab_contract OCCURS 0, "sap field
        ordno(10),                                              "vbeln (10)
        terr(6),
        vkorg     LIKE vbak-vkorg,
        vkgrp     LIKE knvv-vkgrp,
        repname(35),
        repmailbox(10),
        gueen(10),                          "expires dated -same as valid to
        kunnr(10),
        name1(35),                                              "name1(35)
        stras(35),                                              "stras(35)
        pstlz(10),                                              "pstlz(10)
        ort01(35),                          "ort01(35) city
        regio(3),                                               "regio(3)
        kunnr2(10),
        name2(35),                                              "NUM?(35)
        stras2(35),                                             "stras(35)
        pstlz2(10),                                             "pstlz(10)
        ort012(35),                          "ort01(35) city
        regio2(3),                                              "regio(3)
        kit1     LIKE vbap-matnr,     " currently 41315
        kit1-qty(6),  " like vbap-zmeng,
        kit2     LIKE vbap-matnr,     " currently 41316
        kit2-qty(6),  "  like vbap-zmeng,
        kit3     LIKE vbap-matnr,     " currently 41317
        kit3-qty(6),  "  like vbap-zmeng,
        kit4     LIKE vbap-matnr,     " currently 91869US
        kit4-qty(6),  "  like vbap-zmeng,
        med1     LIKE vbap-matnr,     " currently 7408cp
        med1-qty(6),  "  like vbap-zmeng,
        med2     LIKE vbap-matnr,     " currently 0211CP
        med2-qty(6),  "  like vbap-zmeng,
        med3     LIKE vbap-matnr,     " currently 0578CP
        med3-qty(6),  "  like vbap-zmeng,
        med4     LIKE vbap-matnr,     " currently 0068CP
        med4-qty(6),  "  like vbap-zmeng,
        med5     LIKE vbap-matnr,     " currently 0069CP
        med5-qty(6),  "  like vbap-zmeng,
        med6     LIKE vbap-matnr,     " currently other
        dis6     LIKE makt-maktx,     " currently other
        med6-qty(6),  "  like vbap-zmeng,
        med7     LIKE vbap-matnr,     " currently other
        dis7     LIKE makt-maktx,     " currently other
        med7-qty(6),  "  like vbap-zmeng,
        med8     LIKE vbap-matnr,     " currently other
        dis8     LIKE makt-maktx,     " currently other
        med8-qty(6),  "  like vbap-zmeng,
        med9     LIKE vbap-matnr,     " currently other
        dis9     LIKE makt-maktx,     " currently other
        med9-qty(6),  "  like vbap-zmeng,
        med10    LIKE vbap-matnr,     " currently other
        dis10    LIKE makt-maktx,     " currently other
        med10-qty(6),  "  like vbap-zmeng,
      END OF mtab_contract.
    DATA:  BEGIN OF mtab_material OCCURS 0,
              ordno(10),
              matnr LIKE vbap-matnr,
              qty  LIKE vbap-zmeng,
           END OF mtab_material.
    DATA: w-mm(4) VALUE ' MM '.
    *SELECT-OPTIONS: s_vkorg FOR vbak-vkorg,
    *                s_vkgrp FOR knvv-vkgrp,    "Sales Group
    *                s_terr  FOR knvp-kunn2.    "Territory Code
    *PARAMETERS:     p_parvw LIKE vbpa-parvw MEMORY ID par OBLIGATORY,    "Partner ID
    **                   DEFAULT 'Z1'.
    *                p_vbeln LIKE vbak-vbeln MEMORY ID aun,
    *                p_email LIKE adr6-smtp_addr MEMORY ID email. "Sales Document #
    *SELECT-OPTIONS: "s_vbeln FOR vbak-vbeln MEMORY ID aun, "Sales Document #
    *                s_guebg FOR vbak-guebg,    "Valid-From Date
    *                s_gueen FOR vbak-gueen,    "Valid-To Date
    *                s_ship  FOR vbpa-kunnr,    "Ship-to customer
    *            s_bstzd FOR vbak-bstzd MEMORY ID bst ."DEFAULT 'CCK'.    "P.O. # Supplement
    DATA: i_otf TYPE STANDARD TABLE OF itcoo,
          i_content_txt TYPE table of solisti1, "Content
          i_content_bin TYPE solix_tab, "Content
          i_content_bin1 TYPE solix_tab, "Content
          i_objhead TYPE soli_tab,
          w_pdf TYPE solisti1, "For PDF
          w_res TYPE itcpp, "SAPscript output
          w_otf TYPE itcoo, "For OTF
          w_transfer_bin TYPE sx_boolean, "Content
          prog(60).
    data : t_obj_bin type standard table of solisti1.
    DATA: w_arc_params LIKE arc_params,
          w_pri_params LIKE pri_params.
    *DATA: lcl_cls TYPE REF TO cl_gui_frontend_services.
    CONSTANTS : c_x TYPE c VALUE 'X', "X
                c_locl(4) TYPE c VALUE 'LOCL', "Local Printer
                c_otf TYPE sx_format VALUE 'OTF', "OTF
                c_pdf TYPE sx_format VALUE 'PDF', "PDF
                c_printer TYPE sx_devtype VALUE 'PRINTER', "PRINTER
                c_bin TYPE char10 VALUE 'BIN'. "BIN
    DATA:       v_name TYPE string ."Downloading File Name
    DATA: v_len_in TYPE so_obj_len,
          v_tempdir(50) TYPE c,
          v_size TYPE i.
    DATA : x_pdf_bag_tline TYPE  rcl_bag_tline,
           v_pdf_fsize TYPE i,
           objpack LIKE sopcklsti1 OCCURS 2 WITH HEADER LINE,
           objhead LIKE solisti1 OCCURS 1 WITH HEADER LINE,
           objbin LIKE solisti1 OCCURS 10 WITH HEADER LINE,
           objtxt LIKE solisti1 OCCURS 10 WITH HEADER LINE,
           reclist LIKE somlreci1 OCCURS 5 WITH HEADER LINE,
           doc_chng LIKE sodocchgi1,
           tab_lines LIKE sy-tabix.
    DATA : v_pnum LIKE usr21-persnumber,
           v_anum LIKE usr21-addrnumber,
           smtp_addr LIKE adr6-smtp_addr.
    DATA: v_path TYPE  string,
          v_code TYPE i.
    DATA : wa_obj_txt TYPE solisti1.
    DATA : t_obj_txt TYPE STANDARD TABLE OF solisti1.
    DATA : t_rec_list TYPE STANDARD TABLE OF  somlreci1.
    DATA : t_obj_pack TYPE STANDARD TABLE OF sopcklsti1.
    DATA : wa_document_data TYPE sodocchgi1. "Mail data
    DATA : wa_rec_list TYPE somlreci1.
    DATA: reciever TYPE sadrud.    "Email address of the receiver
    DATA : wa_obj_pack TYPE sopcklsti1.
    DATA: v_lines(10) TYPE n.
    DATA: binfilesize TYPE i.
    DATA : wa_obj_header TYPE solisti1.
    DATA : t_obj_header TYPE STANDARD TABLE OF solisti1.
    DATA : obj_id TYPE sofolenti1-object_id. "To send a file as attatchment
    data: pdftab type table of tline with header line.
    data : flag_sent_to_all type sonv-flag.
    *START-OF-SELECTION.
    *  IF lcl_cls IS INITIAL.
    *    CREATE OBJECT lcl_cls.
    *  ENDIF.
      CLEAR i_vbak.
      SELECT  * FROM vbak into i_vbak
                      WHERE
    *                    guebg IN s_guebg AND          "Valid-From Date
    *                    gueen IN s_gueen AND          "Valid-To Date
    *                    vkorg IN s_vkorg AND
                        vbeln = v_cont AND
    *                   AUART = 'LP  ' AND  "Converts to 'CO  ' Scheduling A
                        auart = 'KM  ' AND  "Converts to 'CQ  ' Qty contract
    *                   VBTYP = 'E' AND     "sales doc cat?              JM
                        vbtyp = 'G' ."AND     "sales doc cat              "JM
    *                    bstzd IN s_bstzd.
        mtab_contract-kunnr = i_vbak-kunnr.
        mtab_contract-ordno = i_vbak-vbeln.
        mtab_contract-vkorg = i_vbak-vkorg.
        WRITE i_vbak-gueen TO mtab_contract-gueen.                "CHG014419
        APPEND mtab_contract.
      ENDSELECT.
      LOOP AT mtab_contract.
    *    PERFORM get_contract.     "CO sales orders line items
    ******Get Contract*********
    * SELECT SINGLE kunnr            "partner
    *    INTO vbpa-kunnr
    *    FROM vbpa
    *   WHERE vbeln EQ  mtab_contract-ordno
    *     AND posnr EQ '000000'
    *     AND parvw EQ 'WE'               "Ship-To's
    *     AND kunnr IN s_ship.           "Ship-To ID added 04/01/99
    *  IF sy-subrc EQ 0 .
    *    MOVE vbpa-kunnr TO mtab_contract-kunnr2.
    *    MODIFY             mtab_contract.
    *  ELSE.
    *    EXIT.
    *  ENDIF.
      CLEAR knvp.
      SELECT SINGLE kunn2            "territory
             INTO   knvp-kunn2
             FROM   knvp
             WHERE  kunnr  EQ mtab_contract-kunnr2
             AND    vkorg  EQ mtab_contract-vkorg
             AND    parvw  EQ 'Z6'.
    *         AND    kunn2  IN s_terr .
      IF sy-subrc EQ 0 .
        MOVE knvp-kunn2 TO mtab_contract-terr.
        MODIFY             mtab_contract.
      ELSE.
        EXIT.
      ENDIF.
      CLEAR kna1.     "get rep name and mail box
      SELECT SINGLE name2 FROM kna1 INTO (kna1-name2)
        WHERE kunnr = knvp-kunn2.
      IF sy-subrc EQ 0 .
        SPLIT kna1-name2 AT w-mm INTO mtab_contract-repname
        mtab_contract-repmailbox.
        mtab_contract-repmailbox+3 = mtab_contract-repmailbox.
        mtab_contract-repmailbox(3) = 'MM'.
        MODIFY             mtab_contract.
      ENDIF.
      CLEAR knvv.
      SELECT SINGLE vkgrp
             INTO   knvv-vkgrp
             FROM   knvv
             WHERE  kunnr EQ knvp-kunn2
             AND    vkorg EQ mtab_contract-vkorg.
    *         AND    vkgrp IN s_vkgrp.
      IF sy-subrc EQ 0 .
        MOVE knvv-vkgrp TO mtab_contract-vkgrp.
        MODIFY             mtab_contract.
      ELSE.
        EXIT.
      ENDIF.
      mtab_contract-med1-qty = '_______'.
      mtab_contract-med2-qty = '_______'.
      mtab_contract-med3-qty = '_______'.
      mtab_contract-med4-qty = '_______'.
      mtab_contract-med5-qty = '_______'.
      mtab_contract-med6-qty = '_______'.
      mtab_contract-med7-qty = '_______'.
      mtab_contract-med8-qty = '_______'.
      mtab_contract-med9-qty = '_______'.
      mtab_contract-med10-qty = '_______'.                           "JM
      mtab_contract-kit1-qty = '____'.
      mtab_contract-kit2-qty = '____'.
      mtab_contract-kit3-qty = '____'.
      mtab_contract-kit4-qty = '____'.
      mtab_contract-dis6 = 'OTHER  _____________________'.              "JM
      mtab_contract-dis7 = 'OTHER  _____________________'.              "JM
      mtab_contract-dis8 = 'OTHER  _____________________'.              "JM
      mtab_contract-dis9 = 'OTHER  _____________________'.              "JM
      mtab_contract-dis10 = 'OTHER  _____________________'.             "JM
    *  SELECT  * FROM VBAP WHERE VBELN = MTAB_CONTRACT-ORDNO.
    *     IF VBAP-MATNR = '7408CP'.
    *       MTAB_CONTRACT-MED1 = VBAP-MATNR.
    *     ELSEIF VBAP-MATNR = '0211CP'.
    *       MTAB_CONTRACT-MED2 = VBAP-MATNR.
    *     ELSEIF VBAP-MATNR =  '91865US'.
    *       MTAB_CONTRACT-MED3 = VBAP-MATNR.
    *     ELSEIF VBAP-MATNR =  '0578CP'.
    *       MTAB_CONTRACT-MED4 = VBAP-MATNR.
    *     ELSEIF VBAP-MATNR =  '0068CP'.
    *       MTAB_CONTRACT-MED5 = VBAP-MATNR.
    *     ELSEIF VBAP-MATNR =  '0069CP'.
    *       MTAB_CONTRACT-MED6 = VBAP-MATNR.
    *     ELSEIF VBAP-MATNR =  '92055CP'.                          "JM
    *       MTAB_CONTRACT-MED7 = VBAP-MATNR.                       "JM
    *     ELSEIF VBAP-MATNR =  '90799CP'.                          "JM
    *       MTAB_CONTRACT-MED8 = VBAP-MATNR.                       "JM
    *     ELSEIF VBAP-MATNR = '41315'.
    *       MTAB_CONTRACT-KIT1 = VBAP-MATNR.
    *     ELSEIF VBAP-MATNR = '41316'.
    *       MTAB_CONTRACT-KIT2 = VBAP-MATNR.
    *     ELSEIF VBAP-MATNR = '41317'.
    *       MTAB_CONTRACT-KIT3 = VBAP-MATNR.
    *     ELSEIF VBAP-MATNR = '91869US'.
    *       MTAB_CONTRACT-KIT4 = VBAP-MATNR.
    *     ELSE.
    *       SELECT SINGLE MAKTX INTO MAKT-MAKTX
    *                           FROM MAKT WHERE MATNR = VBAP-MATNR.
    *     ENDIF.
    *     MODIFY MTAB_CONTRACT.
    *   ENDSELECT.
      MODIFY mtab_contract.
    *    IF.
    **        mtab_contract-terr IN s_terr AND
    **       mtab_contract-kunnr2 IN s_ship AND
    **       mtab_contract-vkgrp IN s_vkgrp.
    **      PERFORM get_address.
    *    ELSE.
    *      DELETE mtab_contract INDEX sy-tabix.
    *    ENDIF.
      ENDLOOP.
      SORT mtab_contract BY terr.
    *  PERFORM set_print_option.
    *  Print defaults should be immed and delete after print...
      itcpo-tdimmed  = ' '.
      itcpo-tddelete = 'X'.
      itcpo-tdnewid  = 'X'.
      itcpo-tdcopies = 1.
      itcpo-tdnoprev = 'X'.
      itcpo-tdgetotf = 'X'.
      itcpo-tddest  = 'LOCL'.
      CALL FUNCTION 'GET_PRINT_PARAMETERS'
        EXPORTING
          destination            = 'LOCL'
          no_dialog              = 'X'
        IMPORTING
          out_archive_parameters = w_arc_params
          out_parameters         = w_pri_params.
    *exit if cancel chosen*
      IF sy-subrc NE 0.
        EXIT.
      ENDIF.
      sadr-regio = 'CA'.
      sadr-pstlz = '92620'.
      LOOP AT mtab_contract.
    *    PERFORM check-for-values.
    IF mtab_contract-ordno = space.
        mtab_contract-ordno = '___________'.
      ENDIF.
      IF mtab_contract-terr = space.
        mtab_contract-terr = '______'.
      ENDIF.
      IF mtab_contract-repname = space.
        mtab_contract-repname = '___________________________________'.
      ENDIF.
      IF mtab_contract-repmailbox = space.
        mtab_contract-repmailbox = '__________'.
      ENDIF.
      IF mtab_contract-kunnr = space.
        mtab_contract-kunnr = '__________'.
      ENDIF.
      IF mtab_contract-name1 = space.
        mtab_contract-name1 = '___________________________________'.
      ENDIF.
      IF mtab_contract-stras = space.
        mtab_contract-stras = '___________________________________'.
      ENDIF.
      IF mtab_contract-pstlz = space.
        mtab_contract-pstlz = '__________'.
      ENDIF.
      IF mtab_contract-ort01 = space.
        mtab_contract-ort01 = '___________________________________'.
      ENDIF.
      IF mtab_contract-regio = space.
        mtab_contract-regio = '___'.
      ENDIF.
      IF mtab_contract-kunnr2 = space.
        mtab_contract-kunnr2 = '__________'.
      ENDIF.
      IF mtab_contract-name2 = space.
        mtab_contract-name2 = '___________________________________'.
      ENDIF.
      IF mtab_contract-stras2 = space.
        mtab_contract-stras2 = '___________________________________'.
      ENDIF.
      IF mtab_contract-pstlz2 = space.
        mtab_contract-pstlz2 = '__________'.
      ENDIF.
      IF mtab_contract-ort012 = space.
        mtab_contract-ort012 = '___________________________________'.
      ENDIF.
      IF mtab_contract-regio2 = space.
        mtab_contract-regio2 = '___'.
      ENDIF.
    *    PERFORM open_form.
      CALL FUNCTION 'OPEN_FORM'
        EXPORTING
          dialog   = ' '
          form     = 'ZREV_CCK_AGREMT'
          language = sy-langu
          OPTIONS  = itcpo
        EXCEPTIONS
          canceled = 1
          device   = 2
          form     = 3
          OPTIONS  = 4
          unclosed = 5
          OTHERS   = 6.
      IF sy-subrc <> 0.
        MESSAGE e000(zz) WITH 'Open Form Error. ' sy-subrc.
      ENDIF.
        z_element = 'MAIN'.
    *    PERFORM write_form.
      CALL FUNCTION 'WRITE_FORM'
        EXPORTING
          element   = z_element
        EXCEPTIONS
          element   = 1
          function  = 2
          type      = 3
          unopened  = 4
          unstarted = 5
          window    = 6
          OTHERS    = 7.
    *    PERFORM close_form.
    CALL FUNCTION 'CLOSE_FORM'
        IMPORTING
          RESULT   = w_res
        TABLES
          otfdata  = i_otf
        EXCEPTIONS
          unopened = 1
          OTHERS   = 2.
      IF sy-subrc <> 0.
        MESSAGE e000(zz) WITH 'Close Form Error. ' sy-subrc.
      ENDIF.
    *&---Convert OTF data to PDF data.
      call function 'CONVERT_OTF'
       exporting
         format                      = 'PDF'
       importing
         bin_filesize                = binfilesize
        tables
          otf                         = i_otf
          lines                       = pdftab[].
    data : name LIKE  RLGRAP-FILENAME.
      CONCATENATE 'C:Temp' mtab_contract-ordno '.pdf' INTO v_name.
    *CALL FUNCTION 'DOWNLOAD'
    * EXPORTING
    *      bin_filesize = v_size
    *      filename     = name
    *      filetype     = 'BIN'
    *  TABLES
    *    data_tab                      = pdftab[].
        CALL FUNCTION 'GUI_DOWNLOAD'
          EXPORTING
    *       BIN_FILESIZE                    =
            filename                        = v_name
           FILETYPE                        = 'BIN'
          tables
            data_tab                        = pdftab[].
    * Downloading the PDF File
    *  CALL METHOD lcl_cls->gui_download
    *    EXPORTING
    *      bin_filesize = v_size
    *      filename     = v_name
    *      filetype     = c_bin
    *    CHANGING
    *      data_tab     = pdftab[].
      CALL METHOD cl_gui_cfw=>flush.
    **Send PDF as Email.
    *  wa_obj_txt-line = 'CCK Contract Agreement'.
      APPEND wa_obj_txt TO t_obj_txt.
      CLEAR wa_obj_txt.
      wa_obj_txt-line = 'Please find attatched PDF document for Contract'.
      APPEND wa_obj_txt TO t_obj_txt.
      CLEAR wa_obj_txt.
      DESCRIBE TABLE t_obj_txt LINES tab_lines.
    **Prepare document data
      wa_document_data-obj_name = 'CCK Contract Agreement'.
      wa_document_data-obj_descr = 'CCK Contract Agreement'.
      wa_document_data-obj_langu = sy-langu.
      wa_document_data-proc_type = 'R'.
      wa_document_data-proc_name = 'CCK'.
      wa_document_data-priority  = c_x.
      wa_document_data-obj_prio  = c_x.
    **Receiving list
      wa_rec_list-receiver = sy-uname.
      wa_rec_list-rec_type = 'B'.
      wa_rec_list-com_type = 'INT'.
      wa_rec_list-notif_del = c_x.
      APPEND wa_rec_list TO t_rec_list.
      CLEAR wa_rec_list.
      wa_rec_list-receiver = '[email protected]'."p_email.
      reciever = wa_rec_list-receiver.
      wa_rec_list-rec_type = 'U'.
      wa_rec_list-com_type = 'INT'.
      wa_rec_list-notif_del = c_x.
      APPEND wa_rec_list TO t_rec_list.
      CLEAR wa_rec_list.
    *Object packet
      CALL FUNCTION 'SX_TABLE_LINE_WIDTH_CHANGE'
        EXPORTING
          line_width_src                    = 134
          line_width_dst                    = 255
         TABLES
           content_in                        = pdftab[]
           content_out                       = t_obj_bin
        EXCEPTIONS
          err_line_width_src_too_long       = 1
          err_line_width_dst_too_long       = 2
          err_conv_failed                   = 3
          OTHERS                            = 4
      IF sy-subrc <> 0.
      ENDIF.
      DESCRIBE TABLE t_obj_bin LINES v_lines.
      CLEAR wa_obj_pack-transf_bin .
      wa_obj_pack-head_start = 1.
      wa_obj_pack-head_num = 0.
      wa_obj_pack-body_start = 1.
      wa_obj_pack-body_num = tab_lines.
      wa_obj_pack-doc_type = 'RAW'.
      wa_obj_pack-doc_size = tab_lines * 255.
      APPEND wa_obj_pack TO t_obj_pack.
      CLEAR wa_obj_pack.
      wa_obj_pack-transf_bin = 'X'.
      wa_obj_pack-head_start = 1.
      wa_obj_pack-head_num = 0.
      wa_obj_pack-body_start = 1.
      wa_obj_pack-body_num = v_lines.
      wa_obj_pack-doc_type = 'PDF'.
      wa_obj_pack-obj_name = 'ATTATCHMENT'.
      wa_obj_pack-obj_descr = mtab_contract-ordno.
      wa_obj_pack-doc_size = binfilesize.
      APPEND wa_obj_pack TO t_obj_pack .
      CLEAR wa_obj_pack.
    **Object header
      wa_obj_header-line = 'PDF'.
      APPEND wa_obj_header TO t_obj_header.
      CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
        EXPORTING
          document_data              = wa_document_data
          put_in_outbox              = c_x
          commit_work                = c_x
        IMPORTING
          sent_to_all                = flag_sent_to_all
          new_object_id              = obj_id
        TABLES
          packing_list               = t_obj_pack
          object_header              = t_obj_header
          contents_bin               = t_obj_bin
          contents_txt               = t_obj_txt
          receivers                  = t_rec_list
        EXCEPTIONS
          too_many_receivers         = 1
          document_not_sent          = 2
          document_type_not_exist    = 3
          operation_no_authorization = 4
          parameter_error            = 5
          x_error                    = 6
          enqueue_error              = 7
          OTHERS                     = 8.
      IF sy-subrc <> 0.
      else.
      return = 'true'.
      ENDIF.
    ENDFUNCTION.
           <b> Flow Editor</b>
    <flow>
         <state name="Start">
              <module name="<b>ZV_FUNC_CCK_EMAIL_PDF</b>" type="RFC" stateful="1">
                   <inputmapping source="Contract" target="CONTRACT"/>
                   <inputmapping source="email" target="EMAIL"/>
              </module>
              <module name="ZV_FUNC_CCK_VALIDATE_SHIPTO" type="RFC" stateful="1">
                   <inputmapping source="SHIP_TO" target="KUNNR"/>
                   <inputmapping source="USERNAME" target="USER"/>
                   <outputmapping source="CITY" target="CITY"/>
                   <outputmapping source="NAME" target="NAME"/>
                   <outputmapping source="POSTAL" target="POSTAL"/>
                   <outputmapping source="REGION" target="REGION"/>
                   <outputmapping source="RETURN" target="RETURN"/>
                   <outputmapping source="SD_CITY" target="SD_CITY"/>
                   <outputmapping source="SD_NAME" target="SD_NAME"/>
                   <outputmapping source="SD_POSTAL" target="SD_POSTAL"/>
                   <outputmapping source="SD_REGION" target="SD_REGION"/>
                   <outputmapping source="SD_STREET" target="SD_STREET"/>
                   <outputmapping source="SOLDTO" target="SOLDTO"/>
                   <outputmapping source="STREET" target="STREET"/>
              </module>
         </state>
         <event name="onLoad" next_state="Start"/>
         <event name="Check2" next_template="ZV_CCO_CONFIRMED_ORDER"/>
    </flow>

  • How to set pl/sql function as background job in apex?

    Hi,
    I wrote a function which returns boolean value based on result.This function updates a table everyday.How to set this as a background job?or do I need to use dbms_job only?
    Thanks,
    Mahender.

    No, you can use APEX_PLSQL_JOB.
    Example:
    DECLARE
    l_sql VARCHAR2(4000);
    l_job NUMBER;
    BEGIN
    l_sql := 'BEGIN MY_PACKAGE.MY_PROCESS; END;';
    l_job := APEX_PLSQL_JOB.SUBMIT_PROCESS(
    p_sql => l_sql,
    p_status => 'Background process submitted');
    --store l_job for later reference
    END;
    full documentation link [http://download.oracle.com/docs/cd/E14373_01/apirefs.32/e13369/apex_plsql_job.htm#BGBCJIJI]
    If I help you, please stamp my answer as CORRECT or HELPFULL :)

  • Custom Background Job Cancelling

    Hi Folks,
    I'm working on a custom development and I'm experiencing some trouble - I would greatly appreciate any help / effort from anyone in providing me with some ideas as to what the cause may be.
    Basically my development is made up of two parts - Part 1) A custom RFC used to trigger a custom program in the background - here i'm using job_open / submit program / job_close. This works fine and a job is successfully created to run the custom program
    Part 2) - The custom program, running in the background job tries to create a background job  to trigger standard program (f.05) with a variant. Again using job_open / submit program / job_close. However on this occassion when the second background job starts it cancels immediately -  stating "Make an entry in all required fields". . However the variant is fine and all the parameters for the standard program are filled. I can even trigger this program and variant seperately and it works.
    Are there conflicts in creating a background job from a background job ? I'm confused as to why this is not working and i would appreciate any help or ideas anyone could give me on this.
    Thanks alot for your time.
    Regards
    DK
    Overview
    RFC -> Create Background Job # 1 -> Background Job # 1 created successfully - Custom program running in Background Job # 1 tries to run standard program in backgroun - Background Job # 2 created successfully but immediately cancels - Job log message - "Make an entry in all required fields". Job cancelled after system exception ERROR_MESSAGE.

    Hi Guys,
    Thanks for your answers. The job log does say "Make an entry in all required fields" - but all the required fields are specified under the variant. I can even run this program with the same variant with no problems. I'm wondering what would affect the submit to program to prevent it passing the variant correctly - here is my submit
        SUBMIT sapf100 VIA JOB l_jobnam NUMBER l_jobcnt
        USING SELECTION-SET l_vari
        AND RETURN.
    l_vari = Variant Name
    l_jobname = job name
    l_jobcnt  = job count
    here is the message from the job log. your help is appreciated - thanks
    10.09.2009 14:22:18 Job started                                                             
    10.09.2009 14:22:18 Step 001 started (program SAPF100, variant &0000000000018, user ID XXXX)
    10.09.2009 14:22:18 Make an entry in all required fields                                    
    10.09.2009 14:22:18 Job cancelled after system exception ERROR_MESSAGE

Maybe you are looking for

  • Setting up TV@nywherer, streaming from host computer to a second computer on LAN

    Followed everthing in the manual and it is not working. 1  set to "no proxy", I think I need to since I did not use "proxy" in Internet Exporer\tools\internet options\connections\LAN settings... 2  I got the "server busy" message box on the "stream i

  • IChat Load Balancing or failover solution?

    Hello, I am working a plan to develop a iChat server. I think a Mac Mini would be a good start for a group of 50 users. The users are all over the country and my role is to unite them all in a iChat domain. I thought about building two Mac Mini serve

  • Script or GREP search line for missing quotation marks (opening or closing)

    Hi there, I've being trying to figure out a GREP search that will help me find quotations that haven't been opened or closed properly. Does anyone know if there exists a script that will mark/help me find the quotation marks that incorrectly stand al

  • TableModel updated after UI change

    Hi Everyone, I am displaying JTable in my UI, the table data is editable. When I change any cell's content and tab out or click anywhere else on UI, and then click save button., the TableModel is updated and the save result is as desired. Now, when i

  • How to install latest Firefox on CentOS or RHEL

    I wanted to install latest version of FireFox on my CentOS box as it wont get updated of the latest version. Step by step guidance is appreciated.