用户日期格式不一致导致BDC报时间格式不一致问题

news2024/10/7 12:26:06

问题描述

在做销售开票的功能时用的BDC,业务在测试的时候总是报日期格式不一致的错误,而我自己测的时候却没啥问题,调试的时候发现是我和业务的时间格式不一致(我是YYYYMMDD,他是MMDDYYYY)。

解决方案

用函数CONVERT_DATE_TO_EXTERNAL将ABAP8位的日期改为登录用户的日期格式,在进行参数赋值即可

FORM frm_vf01_create USING p_ls_alv TYPE ty_alv .

  DATA: bdcdata    TYPE TABLE OF bdcdata,
        ctumode    LIKE ctu_params-dismode,
        gt_messtab TYPE TABLE OF bdcmsgcoll WITH HEADER LINE,
        lv_msg     TYPE char200,
        lv_msg2    TYPE char200.
  DATA : lv_date TYPE char10 .
  REFRESH:bdcdata[].

  PERFORM bdc_dynpro  USING 'SAPMV60A' '0102'                   CHANGING bdcdata .
  PERFORM bdc_field   USING 'BDC_CURSOR' 'KOMFK-VBELN(01)'      CHANGING bdcdata.
  PERFORM bdc_field   USING 'BDC_OKCODE' '/00'                  CHANGING bdcdata.
  PERFORM bdc_field   USING 'KOMFK-VBELN(01)' p_ls_alv-vbeln    CHANGING bdcdata.
    CALL FUNCTION 'CONVERT_DATE_TO_EXTERNAL'
      EXPORTING
        date_internal            = p_ls_alv-wadat_ist2
      IMPORTING
        date_external            = lv_date
      EXCEPTIONS
        date_internal_is_invalid = 1
        OTHERS                   = 2.
  PERFORM bdc_field   USING 'RV60A-FKDAT' lv_date CHANGING bdcdata.
  PERFORM bdc_dynpro  USING 'SAPMV60A' '0104'                   CHANGING bdcdata.
  PERFORM bdc_field   USING 'BDC_CURSOR' 'VBRK-FKART'           CHANGING bdcdata.
  PERFORM bdc_field   USING 'BDC_OKCODE' '=SICH'                CHANGING bdcdata.

  ctumode = 'N'.    "N就是一步完成,A前台运行模式 是分步enter完成 E 显示错误模式
  REFRESH gt_messtab[].
  CALL TRANSACTION 'VF01' USING bdcdata
        MODE ctumode
        UPDATE 'S'"S同步 A异步
        MESSAGES INTO gt_messtab.
  CLEAR:gt_messtab.

  LOOP AT gt_messtab.
    CLEAR:lv_msg2.
    CALL FUNCTION 'MESSAGE_TEXT_BUILD'
      EXPORTING
        msgid               = gt_messtab-msgid
        msgnr               = gt_messtab-msgnr
        msgv1               = gt_messtab-msgv1
        msgv2               = gt_messtab-msgv2
        msgv3               = gt_messtab-msgv3
        msgv4               = gt_messtab-msgv4
      IMPORTING
        message_text_output = lv_msg.
    CONCATENATE lv_msg2 lv_msg INTO lv_msg2.
  ENDLOOP.

  READ TABLE gt_messtab INTO DATA(ls_messtab) WITH KEY msgid = 'VF' msgnr = '311' .
  IF sy-subrc = 0 .
    LOOP AT gt_alv ASSIGNING FIELD-SYMBOL(<fs_alv>) WHERE vbeln = p_ls_alv-vbeln .
      <fs_alv>-log = '销售发票创建成功' .
      <fs_alv>-icon = icon_led_green .
      <fs_alv>-vbeln_vf = ls_messtab-msgv1 .
      <fs_alv>-posnr_vf = <fs_alv>-posnr .
    ENDLOOP .
    "更新ZSDT013销售发票

    UPDATE zsdt013 SET vbeln_vf = ls_messtab-msgv1 WHERE vbeln_vl = p_ls_alv-vbeln .
    COMMIT WORK .
  ELSE .
    LOOP AT gt_alv ASSIGNING <fs_alv> WHERE vbeln = p_ls_alv-vbeln .
      <fs_alv>-log = '销售发票创建失败:' && lv_msg2 .
      <fs_alv>-icon = icon_led_red .
    ENDLOOP.
  ENDIF .

  CLEAR : bdcdata ,ctumode ,gt_messtab  ,lv_msg .

ENDFORM.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1206172.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

博捷芯BJCORE:国内划片机品牌优势

国内划片机品牌在半导体设备制造领域奋起直追&#xff0c;展现出以下几个优势&#xff1a; 1. 技术提升&#xff1a;国内划片机品牌在技术上持续取得突破&#xff0c;例如设备精准度和切割精度的提高&#xff0c;可以在短时间内完成大量加工&#xff0c;提高了生产效率。 2. 适…

Python 如何实现访问者设计模式?什么是访问者(Visitor)模式?实际案例中有什么作用?

什么是访问者设计模式&#xff1f;访问者&#xff08;Visitor&#xff09;设计模式介绍&#xff1a; 访问者&#xff08;Visitor&#xff09;设计模式是一种行为设计模式&#xff0c;用于在不修改被访问对象的前提下定义新的操作。它通过将操作封装到独立的访问者类中&#xf…

centos7安装pandora

因为需要python3.7以上的环境所以下载minicanda安装脚本 1.下载地址 https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-py38_4.9.2-Linux-x86_64.sh把脚本上传到服务器 2&#xff0c;给.sh文件添加x执行权限 sudo chmod ux Miniconda3-py38_4.9.2-Linu…

【汇编】汇编语言的介绍

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、汇编是什么&#xff1f;二、为什么要学习汇编语言&#xff1f;三、学习汇编语言的好处四、安装汇编环境4.1 下载虚拟环境4.2 配置虚拟环境 总结 前言 计算…

瑞吉外卖01-实现管理端登录登出功能

开发前准备 准备数据表 结合页面原型创建数据库reggie,可以使用图形化界面或者MySQL命令运行SQL文件导入表结构(使用命令时sql文件不要放在中文目录中) 创建工程 创建一个SpringBoot的工程(勾选Spring Web&#xff0c;MySQL和MyBatis),配置pom.xml文件导入druid&#xff0c;…

本地化工具:Soluling Localization Crack

Soluling 是一个本地化工具&#xff0c;包含本地化项目所需的所有功能。Solling 使本地化变得非常容易。Soluling 是桌面应用程序和命令行工具的组合 。Solling支持100多种文件格式。通过 Soluling&#xff0c;您可以本地化桌面应用程序、移动应用程序、Web 应用程序、文档和在…

【赠书第4期】机器学习与人工智能实战:基于业务场景的工程应用

文章目录 前言 1 机器学习基础知识 2 人工智能基础知识 3 机器学习和人工智能的实战案例 4 总结 5 推荐图书 6 粉丝福利 前言 机器学习与人工智能是当前最热门的领域之一&#xff0c;也是未来发展的方向。随着科技的不断进步&#xff0c;越来越多的企业开始关注和投入机…

C语言精选练习题:(8)使用冒泡排序排序整形数组

每日一言 纵使天光终将熄灭&#xff0c;我们也要歌颂太阳。 --我来到这世上为的是看太阳–巴尔蒙特 题目 输入10个整数&#xff0c;然后使用冒泡排序对数组内容进行升序排序&#xff0c;然后打印出数组的内容 解题思路 创建一个数组用循环将10个整数存到数组中使用冒泡排序打…

Apache Airflow (六) :DAG catchup 参数设置

&#x1f3e1; 个人主页&#xff1a;IT贫道_大数据OLAP体系技术栈,Apache Doris,Clickhouse 技术-CSDN博客 &#x1f6a9; 私聊博主&#xff1a;加入大数据技术讨论群聊&#xff0c;获取更多大数据资料。 &#x1f514; 博主个人B栈地址&#xff1a;豹哥教你大数据的个人空间-豹…

Android自定义控件:一款多特效的智能loadingView

先上效果图&#xff08;如果感兴趣请看后面讲解&#xff09;&#xff1a; 1、登录效果展示 2、关注效果展示 1、【画圆角矩形】 画图首先是onDraw方法&#xff08;我会把圆代码写上&#xff0c;一步一步剖析&#xff09;&#xff1a; 首先在view中定义个属性&#xff1a;priv…

Leetcode刷题详解——黄金矿工

1. 题目链接&#xff1a;1219. 黄金矿工 2. 题目描述&#xff1a; 你要开发一座金矿&#xff0c;地质勘测学家已经探明了这座金矿中的资源分布&#xff0c;并用大小为 m * n 的网格 grid 进行了标注。每个单元格中的整数就表示这一单元格中的黄金数量&#xff1b;如果该单元格…

第 19 章 网络编程

网络可以使不同物理位置上的计算机达到资源共享和通信的目的&#xff0c;在Java中也提供了专门的网络开发程序包--java.net&#xff0c;以方便开发者进行网络程序的开发&#xff0c;本章将讲解TCP与UDP程序开发 19.1 网络编程简介 将地理位置不同的、具有独立功能的多台计算机…

Leetcode-110 平衡二叉树

递归实现 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this.val val; }* TreeNode(int val, TreeNode left, TreeNode right) {* …

优选算法精品解析

1.双指针(前后/左右双指针) 1.1 283.移动零 快排双指针的核心算法 左边所有数 < tmp,右边所有数 > tmp,以tmp这个数为标准 1.2 1089.复习零 如果一对双指针从左向右不行,那么就从右向左,换一个方向 1.3 202.快乐数 双指针中的快慢指针: slow1,fast2 1.4 11.最多盛水的…

如何使用免费的 Vecteezy 旅行视频

网址&#xff1a;https://www.vecteezy.com/ Vecteezy 是一个提供免费和付费矢量图形、模板、视频和其他创意资源的网站。该网站拥有大量旅行视频&#xff0c;可用于各种目的&#xff0c;例如个人使用、商业用途或教育用途。 要下载 Vecteezy 的免费旅行视频&#xff0c;请按…

类和对象(4):Date类.运算符重载 1

一、赋值运算符重载 1.1 运算符重载 运算符重载是具有特殊函数名的函数&#xff0c;函数名字为&#xff1a;关键词operator需要重载的运算符符号。 不能重载C/C中未出现的符号&#xff0c;如&#xff1a;operator。重载操作符必须有一个类类型参数。不能改变用于内置类型运算…

详细推导MOSFET的跨导、小信号模型、输出阻抗、本征增益

目录 前言 什么是跨导 什么是小信号模型 什么是输入阻抗和输出阻抗 什么是MOS管的输出阻抗 什么是MOS管的本征增益 共源极放大电路的输入和输出阻抗 一些其它MOS拓扑电路的增益 负载为恒流源 负载为二极管 前言 相信很多人在学习集成电路领域的时候 都对MOS管的…

HTML设置标签栏的图标

添加此图标最简单的方法无需修改内容&#xff0c;只需按以下步骤操作即可&#xff1a; 1.准备一个 ico 格式的图标 2.将该图标命名为 favicon.ico 3.将图标文件置于index.html同级目录即可 为什么我的没有变化&#xff1f; 答曰&#xff1a;ShiftF5强制刷新一下网页就行了

C#,数值计算——多项式计算,Poly的计算方法与源程序

1 文本格式 using System; using System.Text; namespace Legalsoft.Truffer { /// <summary> /// operations on polynomials /// </summary> public class Poly { /// <summary> /// polynomial c[0]c[1]xc[2]x^2 ..…

西门子精智屏数据记录U盘插拔问题总结

西门子精智屏数据记录U盘插拔问题总结 注意: 数据记录过程中不允许带电插拔 U 盘! 数据记录的相关功能可参考以下链接中的内容: TIA博途wincc V16 如何进行变量周期归档?