Oracle EBS OPM complete step

	
--complete_step
--created by jenrry 
DECLARE
   x_return_status            VARCHAR2 (1);
   l_exception_material_tbl   gme_common_pvt.exceptions_tab;
   l_batch_step_rec           gme_batch_steps%ROWTYPE;
   l_in_batch_step_rec        gme_batch_steps%ROWTYPE;
   l_org_code                 VARCHAR2 (3);
   l_batch_no                 VARCHAR2 (32);
   l_ignore_exception         VARCHAR2 (1);
   l_val_ff                   VARCHAR2 (1);
   l_over_quality             VARCHAR2 (1);
   x_message_count            NUMBER;
   x_message_list             VARCHAR2 (2000); 
   l_user_name                VARCHAR2 (80);
   l_user_id                  NUMBER;

   CURSOR get_user_id (v_user_name IN VARCHAR2)
   IS
      SELECT user_id
        FROM fnd_user
       WHERE user_name = v_user_name;

   PROCEDURE display_messages (p_msg_count IN NUMBER)
   IS
      MESSAGE               VARCHAR2 (2000);
      dummy                 NUMBER;
      l_api_name   CONSTANT VARCHAR2 (30)   := 'DISPLAY_MESSAGES';
   BEGIN
      FOR i IN 1 .. p_msg_count
      LOOP
         fnd_msg_pub.get (p_msg_index          => i,
                          p_data               => MESSAGE,
                          p_encoded            => 'F',
                          p_msg_index_out      => dummy
                         );
         DBMS_OUTPUT.put_line ('Message ' || TO_CHAR (i) || ' ' || MESSAGE);
      END LOOP;
   EXCEPTION
      WHEN OTHERS
      THEN
         fnd_msg_pub.add_exc_msg ('wrapper for Complete_Step ', l_api_name);
   END display_messages;
BEGIN
   DBMS_OUTPUT.ENABLE (20000); 
   l_user_name := 'PROCESS_OPS';

   OPEN get_user_id (l_user_name);

   FETCH get_user_id
    INTO l_user_id;

   IF get_user_id%NOTFOUND
   THEN
      DBMS_OUTPUT.put_line ('Invalid User ' || l_user_name);

      CLOSE get_user_id;

      RAISE NO_DATA_FOUND;
   END IF;

   CLOSE get_user_id;

   fnd_profile.initialize (l_user_id); 
   fnd_global.apps_initialize (user_id           => l_user_id,
                               resp_id           => NULL,
                               resp_appl_id      => NULL
                              );
   fnd_profile.put ('AFLOG_LEVEL', '1');
 

   -- l_in_batch_step_rec.batchstep_id := 11558;
--  l_in_batch_step_rec.batchstep_id := 10492;-- l_in_batch_step_rec.batch_id := 364715;
   l_in_batch_step_rec.batchstep_no := 10;
   l_batch_no := '147637';
   l_org_code := 'PR1';
   -- if actual dates are not specified, SYSDATE is used
   --l_in_batch_step_rec.actual_start_date :=
   --                   TO_DATE ('10-01-2014 08:00:00', 'MM-DD-YYYY HH24:MI:SS');
   l_in_batch_step_rec.actual_cmplt_date :=
                      TO_DATE ('16-MAR-2017 18:40:00', 'DD-MON-YYYY HH24:MI:SS');
   l_ignore_exception := fnd_api.g_true;
   l_val_ff := fnd_api.g_false;                
   l_over_quality := fnd_api.g_true;
   gme_api_pub.complete_step
                         (p_api_version                 => 2.0,
                          p_validation_level            => gme_common_pvt.g_max_errors,
                          p_init_msg_list               => fnd_api.g_true,
                          p_commit                      => fnd_api.g_true,
                          x_message_count               => x_message_count,
                          x_message_list                => x_message_list,
                          x_return_status               => x_return_status,
                          p_batch_step_rec              => l_in_batch_step_rec,
                          p_batch_no                    => l_batch_no,
                          p_org_code                    => l_org_code,
                          p_ignore_exception            => l_ignore_exception,
                          p_override_quality            => l_over_quality,
                          p_validate_flexfields         => l_val_ff,
                          x_batch_step_rec              => l_batch_step_rec,
                          x_exception_material_tbl      => l_exception_material_tbl
                         ); 
   DBMS_OUTPUT.put_line (SUBSTR ('x_return_status = ' || x_return_status,
                                 1,
                                 255
                                )
                        );
   DBMS_OUTPUT.put_line (   'l_batch_step_rec.batch_id = '
                         || TO_CHAR (l_batch_step_rec.batch_id)
                        );
   DBMS_OUTPUT.put_line (   'l_batch_step_rec.batchstep_id = '
                         || TO_CHAR (l_batch_step_rec.batchstep_id)
                        );
   DBMS_OUTPUT.put_line (   'l_batch_step_rec.batchstep_no = '
                         || TO_CHAR (l_batch_step_rec.batchstep_no)
                        );
   DBMS_OUTPUT.put_line (   'l_batch_step_rec.plan_start_date = '
                         || TO_CHAR (l_batch_step_rec.plan_start_date,
                                     'DD-MON-YYYY HH24:MI:SS'
                                    )
                        );
   DBMS_OUTPUT.put_line (   'l_batch_step_rec.plan_cmplt_date = '
                         || TO_CHAR (l_batch_step_rec.plan_cmplt_date,
                                     'DD-MON-YYYY HH24:MI:SS'
                                    )
                        );
   DBMS_OUTPUT.put_line (   'l_batch_step_rec.actual_start_date = '
                         || TO_CHAR (l_batch_step_rec.actual_start_date,
                                     'DD-MON-YYYY HH24:MI:SS'
                                    )
                        );
   DBMS_OUTPUT.put_line (   'l_batch_step_rec.actual_cmplt_date = '
                         || TO_CHAR (l_batch_step_rec.actual_cmplt_date,
                                     'DD-MON-YYYY HH24:MI:SS'
                                    )
                        );
   DBMS_OUTPUT.put_line (   'l_batch_step_rec.step_status = '
                         || TO_CHAR (l_batch_step_rec.step_status)
                        );
   DBMS_OUTPUT.put_line (   'l_batch_step_rec.last_update_date = '
                         || TO_CHAR (l_batch_step_rec.last_update_date,
                                     'DD-MON-YYYY HH24:MI:SS'
                                    )
                        );
   DBMS_OUTPUT.put_line (   'l_batch_step_rec.last_updated_by = '
                         || TO_CHAR (l_batch_step_rec.last_updated_by)
                        );
   DBMS_OUTPUT.put_line (   'l_batch_step_rec.creation_date = '
                         || TO_CHAR (l_batch_step_rec.creation_date,
                                     'DD-MON-YYYY HH24:MI:SS'
                                    )
                        );
   DBMS_OUTPUT.put_line (   'l_batch_step_rec.created_by = '
                         || TO_CHAR (l_batch_step_rec.created_by)
                        );
   DBMS_OUTPUT.put_line (   'l_batch_step_rec.last_update_login = '
                         || TO_CHAR (l_batch_step_rec.last_update_login)
                        );

   FOR i IN 1 .. l_exception_material_tbl.COUNT
   LOOP
      DBMS_OUTPUT.put_line ('Record i = ' || TO_CHAR (i));
      DBMS_OUTPUT.put_line
                        (   'l_exception_material_tbl(i).ORGANIZATION_ID = '
                         || TO_CHAR
                                  (l_exception_material_tbl (i).organization_id
                                  )
                        );
      DBMS_OUTPUT.put_line (   'l_exception_material_tbl(i).BATCH_ID = '
                            || TO_CHAR (l_exception_material_tbl (i).batch_id)
                           );
      DBMS_OUTPUT.put_line
                      (   'l_exception_material_tbl(i).MATERIAL_DETAIL_ID = '
                       || TO_CHAR
                               (l_exception_material_tbl (i).material_detail_id
                               )
                      );
      DBMS_OUTPUT.put_line
                  (   'l_exception_material_tbl(i).PENDING_MOVE_ORDER_IND = '
                   || TO_CHAR
                           (l_exception_material_tbl (i).pending_move_order_ind
                           )
                  );
      DBMS_OUTPUT.put_line
                (   'l_exception_material_tbl(i).PENDING_RESERVATIONS_IND = '
                 || TO_CHAR
                         (l_exception_material_tbl (i).pending_reservations_ind
                         )
                );
      DBMS_OUTPUT.put_line
                          (   'l_exception_material_tbl(i).TRANSACTED_QTY = '
                           || TO_CHAR
                                   (l_exception_material_tbl (i).transacted_qty
                                   )
                          );
      DBMS_OUTPUT.put_line (   'l_exception_material_tbl(i).EXCEPTION_QTY = '
                            || TO_CHAR
                                    (l_exception_material_tbl (i).exception_qty
                                    )
                           );
   END LOOP;

   DBMS_OUTPUT.put_line ('x_message_count = ' || TO_CHAR (x_message_count));
   DBMS_OUTPUT.put_line (SUBSTR ('x_message_list = ' || x_message_list, 1,
                                 255)
                        );

   IF x_message_count > 0
   THEN
      display_messages (x_message_count);
   END IF;
EXCEPTION
   WHEN OTHERS
   THEN
      DBMS_OUTPUT.put_line ('Error ' || TO_CHAR (SQLCODE) || ': ' || SQLERRM);
      RAISE;
END;
/

  

posted on 2018-11-26 16:35  Jenrry  阅读(452)  评论(0编辑  收藏  举报