ORACLE EBS并发TRACE操作视频

    此视频是去年底客户系统出现问题,我去抓取财务系统Trace文件的操作过程,由于是客户的系统,请下载到的文档谨慎使用,谢谢。
    说明:文件中存在“TEST_ora_50331810.trc.txt”文件,原本是“TEST_ora_50331810.trc”,由于百度云盘不允许此类文件上传,因此更改后缀为.txt文件,下载后去掉还原即可。

链接地址:http://pan.baidu.com/s/1dDISFUL

Form客户化开发大致步骤

  客户化一个Form程序,一般会经历如下开发过程(未包括具体代码书写及程序包调用):
      1.建立数据库对象(表,视图,序列,同义词等)
      2.打开template.fmb文件,更名为CUXGLIMPORT
      3.删除Data Blocks下的两个块——BLOCKNAME、DETAILBLOCK,
        它们是模版自带的示例主从块。
      4.删除Canvases下的一个画布——BLOCKNAME
      5.修改Windows下的BLOCKNAME这个Window,在Property Palette中
        将Name改为“HEADERS”,将Title改  为“XXXX”
      6.修改Forms级触发器PRE-FORM
      7.修改Forms级触发器WHEN-NEW-FORM-INSTANCE
      8.修改Program Unit下app_custom中的close_window过程
      9.创建Block数据块
      10.设置Block属性及其Subclass
      11.新增CURRENT_RECODE_INDICATOR 子类信息
         CURRENT_RECODE_INDICATOR
      12.画布创建
      13.程序单元    
      14.块级别触发器on_insert……

注意点:
      1.画布和窗口的对应,LOV创建最后在指定的item上面。
      2.ROW_ID 属性 row_id 18
      3.记录间距为0
      4.LOV建立时,需要注意返回项,否则在保存的时候会报错
      5.一般情况下请在order by 中写上命令
      6.form级别第一个导航块
      7.block级别导航块

完成后,通过ftp工具上传至相应服务器目录,最后通过ssh工具编译即可完成。可参考此链接编译form命令:http://www.llku.com/?p=177

 

后台最终关闭PO单号程序代码

    由于客户的PO单是外部系统导入到EBS PO模块,因此会涉及到关闭PO单的操作,可以通过接口关闭PO单。以下是核心代码:

declare
  l_action           varchar2(100) := 'FINALLY CLOSE';
  v_po_header_id     number := 1292;
  l_return_status    varchar2(100);
  l_return_code      varchar2(100);
  l_exc_msg          varchar2(100);
  l_online_report_id varchar2(100);
  p_reasons          varchar2(100) := '小潘测试最终关闭PO单';

begin

  –初始化
  fnd_global.apps_initialize(user_id      => 1110, –用户名
                             resp_id      => 50737, –PO职责
                             resp_appl_id => 201); –PO产品

  –调用系统自带功能释放保留款 
  PO_DOCUMENT_ACTION_PVT.do_manual_close(p_action           => l_action,
                                         p_document_id      => v_po_header_id,
                                         p_document_type    => 'PO',
                                         p_document_subtype => 'STANDARD',
                                         p_line_id          => '',
                                         p_shipment_id      => '',
                                         p_reason           => p_reasons,
                                         p_action_date      => to_date(to_char(sysdate,
                                                                               'DD-MON-YYYY'),
                                                                       'DD-MON-YYYY'),
                                         p_calling_mode     => 'PO',
                                         p_origin_doc_id    => NULL,
                                         p_called_from_conc => FALSE,
                                         p_use_gl_date      => 'N',
                                         x_return_status    => l_return_status,
                                         x_return_code      => l_return_code,
                                         x_exception_msg    => l_exc_msg,
                                         x_online_report_id => l_online_report_id);

  DBMS_OUTPUT.put_line('成功与否标记:' || l_return_status);
  DBMS_OUTPUT.put_line('返回代码:' || l_return_code);
  DBMS_OUTPUT.put_line('错误消息:' || l_exc_msg);
end;

获取FSG报表明细行定义的SQL

客户要求取出某指定的FSG报表的明细行定义的数据,以下是相关的SQL命令:

SELECT *
  FROM (SELECT RRA.NAME,
               RRV.SEQUENCE,
               RRV.DESCRIPTION,
               RRV.NUMBER_CHARACTERS_INDENTED,
               RRV.NUMBER_LINES_SKIPPED_BEFORE,
               RRV.NUMBER_LINES_SKIPPED_AFTER,
               RRV.AMOUNT_TYPE,
               RRV.UNIT_OF_MEASURE_ID,
               RRV.PARAMETER_NUM,
               RRV.PERIOD_OFFSET,
               RRV.FACTOR,
               RRV.LEVEL_OF_DETAIL,
               RRV.DISPLAY_FLAG,
               RRV.DISPLAY_ZERO_AMOUNT_FLAG,
               RRV.CHANGE_SIGN_FLAG,
               RRV.CHANGE_VARIANCE_SIGN_FLAG,
               RRV.CALCULATION_PRECEDENCE_FLAG,
               RRC.SIGN,
               RRC.LEDGER_ID,
               RRC.SEGMENT1_LOW || '.' || RRC.SEGMENT2_LOW || '.' ||
               RRC.SEGMENT3_LOW || '.' || RRC.SEGMENT4_LOW || '.' ||
               RRC.SEGMENT5_LOW || '.' || RRC.SEGMENT6_LOW || '.' ||
               RRC.SEGMENT7_LOW || '.' || RRC.SEGMENT8_LOW SEGMENT_LOW,
               RRC.SEGMENT1_HIGH || '.' || RRC.SEGMENT2_HIGH || '.' ||
               RRC.SEGMENT3_HIGH || '.' || RRC.SEGMENT4_HIGH || '.' ||
               RRC.SEGMENT5_HIGH || '.' || RRC.SEGMENT6_HIGH || '.' ||
               RRC.SEGMENT7_HIGH || '.' || RRC.SEGMENT8_HIGH SEGMENT_HIGH,
               RRC.SEGMENT1_TYPE || '.' || RRC.SEGMENT2_TYPE || '.' ||
               RRC.SEGMENT3_TYPE || '.' || RRC.SEGMENT4_TYPE || '.' ||
               RRC.SEGMENT5_TYPE || '.' || RRC.SEGMENT6_TYPE || '.' ||
               RRC.SEGMENT7_TYPE || '.' || RRC.SEGMENT8_TYPE SEGMENT_HIGH_TYPE,
               RRC.RANGE_MODE,
               RRC.DR_CR_NET_CODE,
               NULL CALCULATION_SEQ,
               NULL OPERATOR,
               NULL CONSTANT,
               NULL AXIS_SEQ_LOW,
               NULL AXIS_SEQ_HIGH,
               NULL AXIS_NAME_LOW        
          FROM RG_REPORT_AXIS_SETS_V   RRA,
               RG_REPORT_AXES_V        RRV,
               RG_REPORT_AXIS_CONTENTS RRC        
         WHERE 1 = 1
           AND RRC.AXIS_SET_ID = RRA.AXIS_SET_ID
           AND RRC.AXIS_SEQ = RRV.SEQUENCE
           AND RRA.AXIS_SET_ID = RRV.AXIS_SET_ID
           AND RRA.NAME IN ('XXXX_新准则CIRC统计指标')
        
        UNION ALL
        
        SELECT RRA.NAME,
               RRV.SEQUENCE,
               RRV.DESCRIPTION,
               RRV.NUMBER_CHARACTERS_INDENTED,
               RRV.NUMBER_LINES_SKIPPED_BEFORE,
               RRV.NUMBER_LINES_SKIPPED_AFTER,
               RRV.AMOUNT_TYPE,
               RRV.UNIT_OF_MEASURE_ID,
               RRV.PARAMETER_NUM,
               RRV.PERIOD_OFFSET,
               RRV.FACTOR,
               RRV.LEVEL_OF_DETAIL,
               RRV.DISPLAY_FLAG,
               RRV.DISPLAY_ZERO_AMOUNT_FLAG,
               RRV.CHANGE_SIGN_FLAG,
               RRV.CHANGE_VARIANCE_SIGN_FLAG,
               RRV.CALCULATION_PRECEDENCE_FLAG,
               NULL                            SIGN,
               NULL                            LEDGER_ID,
               NULL                            SEGMENT_LOW,
               NULL                            SEGMENT_HIGH,
               NULL                            SEGMENT_HIGH_TYPE,
               NULL                            RANGE_MODE,
               NULL                            DR_CR_NET_CODE,
               RRC1.CALCULATION_SEQ,
               RRC1.OPERATOR,
               RRC1.CONSTANT,
               RRC1.AXIS_SEQ_LOW,
               RRC1.AXIS_SEQ_HIGH,
               RRC1.AXIS_NAME_LOW
          FROM RG_REPORT_AXIS_SETS_V  RRA,
               RG_REPORT_AXES_V       RRV,
               RG_REPORT_CALCULATIONS RRC1        
         WHERE 1 = 1
           AND RRC1.AXIS_SET_ID = RRA.AXIS_SET_ID
           AND RRC1.AXIS_SEQ = RRV.SEQUENCE
           AND RRA.AXIS_SET_ID = RRV.AXIS_SET_ID
           AND RRA.NAME IN ('XXXX_新准则CIRC统计指标')
        
        UNION ALL
        
        SELECT RRA.NAME,
               RRV.SEQUENCE,
               RRV.DESCRIPTION,
               RRV.NUMBER_CHARACTERS_INDENTED,
               RRV.NUMBER_LINES_SKIPPED_BEFORE,
               RRV.NUMBER_LINES_SKIPPED_AFTER,
               RRV.AMOUNT_TYPE,
               RRV.UNIT_OF_MEASURE_ID,
               RRV.PARAMETER_NUM,
               RRV.PERIOD_OFFSET,
               RRV.FACTOR,
               RRV.LEVEL_OF_DETAIL,
               RRV.DISPLAY_FLAG,
               RRV.DISPLAY_ZERO_AMOUNT_FLAG,
               RRV.CHANGE_SIGN_FLAG,
               RRV.CHANGE_VARIANCE_SIGN_FLAG,
               RRV.CALCULATION_PRECEDENCE_FLAG,
               NULL                            SIGN,
               NULL                            LEDGER_ID,
               NULL                            SEGMENT_LOW,
               NULL                            SEGMENT_HIGH,
               NULL                            SEGMENT_HIGH_TYPE,
               NULL                            RANGE_MODE,
               NULL                            DR_CR_NET_CODE,
               NULL                            CALCULATION_SEQ,
               NULL                            OPERATOR,
               NULL                            CONSTANT,
               NULL                            AXIS_SEQ_LOW,
               NULL                            AXIS_SEQ_HIGH,
               NULL                            AXIS_NAME_LOW        
          FROM RG_REPORT_AXIS_SETS_V RRA, RG_REPORT_AXES_V RRV        
         WHERE 1 = 1              
           AND RRA.AXIS_SET_ID = RRV.AXIS_SET_ID
           AND RRA.NAME IN ('XXXX_新准则CIRC统计指标')              
           AND NOT EXISTS (SELECT 1
                  FROM RG_REPORT_AXIS_CONTENTS T
                 WHERE T.AXIS_SET_ID = RRA.AXIS_SET_ID
                   AND T.AXIS_SEQ = RRV.SEQUENCE)              
           AND NOT EXISTS (SELECT 1
                  FROM RG_REPORT_CALCULATIONS T2
                 WHERE T2.AXIS_SET_ID = RRA.AXIS_SET_ID
                   AND T2.AXIS_SEQ = RRV.SEQUENCE)        
        )
 WHERE 1 = 1
 ORDER BY NAME, SEQUENCE;

技术笔记(小潘的技术记录博客)