Search This Blog

Showing posts with label Order Release API. Show all posts
Showing posts with label Order Release API. Show all posts

Sunday, November 14, 2010

Order Release API

CREATE OR REPLACE PROCEDURE APPS.xx_om_pick_release(x_errbuf  OUT VARCHAR2,
                                  x_retcode OUT NUMBER
                        )
  AS
    CURSOR cur_delivery_details IS
    SELECT 100 delivery_id,100 Trip_id
      FROM wsh_delivery_details
     WHERE delivery_detail_id = 100;---Hard coded value
    p_api_version_number    NUMBER :=1.0;
    init_msg_list           VARCHAR2(200);
    x_msg_details           VARCHAR2(3000);
    x_msg_summary           VARCHAR2(3000);    
    p_line_rows             WSH_UTIL_CORE.ID_TAB_TYPE;
    x_del_rows              WSH_UTIL_CORE.ID_TAB_TYPE;
    l_ship_method_code      VARCHAR2(100);
    i                       NUMBER;
    l_commit                VARCHAR2(30);      
    p_delivery_id           NUMBER;
    p_delivery_name         VARCHAR2(30);
    x_trip_id               VARCHAR2(30);
    x_trip_name             VARCHAR2(30);
    fail_api                EXCEPTION; 
    l_picked_flag           VARCHAR2(10);
    l_return_status    VARCHAR2(1000);
    l_msg_count        NUMBER;
    l_msg_data         VARCHAR2(1000);
    ln_user_id         number := fnd_profile.value('USER_ID');
    ln_trip_id         number;
    lv_trip_name       varchar2(30);
    x_return_status    varchar2(10);
     x_msg_count       number;
     x_msg_data        varchar2(500);
  BEGIN
    --Initialize (user_id, resp_id, app_id, NULL)    
   ------------- fnd_global.apps_initialize( , 21623, 660, NULL);
     FND_GLOBAL.APPS_INITIALIZE(user_id => 1110
,resp_id =>50519
,resp_appl_id =>660);
    -- Initialize return status
    x_return_status := WSH_UTIL_CORE.G_RET_STS_SUCCESS;   
    i := 0;
--    FOR row_delivery_details IN cur_delivery_details
--    LOOP
      dbms_output.put_line( 'Before API');
       wsh_deliveries_pub.delivery_action        
             ( p_api_version_number  => 1.0,
               p_init_msg_list       => NULL,
               x_return_status       => x_return_status,
               x_msg_count           => x_msg_count,
               x_msg_data            => x_msg_data,
               p_action_code         => 'PICK-RELEASE',
               p_delivery_id         => 13486,
               p_delivery_name       => 13486,
              -- p_asg_trip_id         =  100,
               x_trip_id                => ln_trip_id,
              x_trip_name              => lv_trip_name  
            );
       commit;
       IF (x_return_status <> WSH_UTIL_CORE.G_RET_STS_SUCCESS) THEN
          RAISE fail_api;
       ELSE
          fnd_file.put_line(fnd_file.log, 'Success:  Pick release');
          dbms_output.put_line( 'Success:  Pick release'||' '||x_trip_id);
       END IF;            
  --  END LOOP; --row_delivery_details
  EXCEPTION
     WHEN fail_api THEN
            WSH_UTIL_CORE.get_messages('Y', x_msg_summary, x_msg_details, x_msg_count);
            IF x_msg_count > 1 THEN
               x_msg_data := x_msg_summary || x_msg_details;
            ELSE
               x_msg_data := x_msg_summary || x_msg_details;
            END IF; 
  END xx_om_pick_release;
/