SRM 403(1-250pt, 1-500pt)

本文介绍了如何使用数位dp解决寻找特定数位组成的数在给定区间内的数量问题,并通过矩阵快速幂优化进一步提高效率。通过分析问题特点,作者实现了高效的算法并给出了详细代码实现。

DIV1 250pt

题意:称各个数位只含有4和7的数为lucky number,给定a,b,求[a, b]中的lucky number有多少个。a, b <= 10^9

解法:很明显的数位dp,写出来也就20行左右。本来以为最近刚好在做数位dp,可以很快出,结果我想着刚才做的那个数位dp,脑袋进水居然直接敲了段递归的代码还半天没调出来.......然后很快写了段非递归的代码过了.....160score...

   后来看官方题解说,由于10^9内实际上只有1022个lucky number,所以可以求全部生成出来,看有哪些在[a, b]上。

tag:数位dp,think

  1 // BEGIN CUT HERE
  2 /*
  3  * Author:  plum rain
  4  * score :
  5  */
  6 /*
  7 
  8  */
  9 // END CUT HERE
 10 #line 11 "TheLuckyNumbers.cpp"
 11 #include <sstream>
 12 #include <stdexcept>
 13 #include <functional>
 14 #include <iomanip>
 15 #include <numeric>
 16 #include <fstream>
 17 #include <cctype>
 18 #include <iostream>
 19 #include <cstdio>
 20 #include <vector>
 21 #include <cstring>
 22 #include <cmath>
 23 #include <algorithm>
 24 #include <cstdlib>
 25 #include <set>
 26 #include <queue>
 27 #include <bitset>
 28 #include <list>
 29 #include <string>
 30 #include <utility>
 31 #include <map>
 32 #include <ctime>
 33 #include <stack>
 34 
 35 using namespace std;
 36 
 37 #define CLR(x) memset(x, 0, sizeof(x))
 38 #define CLR1(x) memset(x, -1, sizeof(x))
 39 #define PB push_back
 40 #define SZ(v) ((int)(v).size())
 41 #define ALL(t) t.begin(),t.end()
 42 #define zero(x) (((x)>0?(x):-(x))<eps)
 43 #define out(x) cout<<#x<<":"<<(x)<<endl
 44 #define tst(a) cout<<#a<<endl
 45 #define CINBEQUICKER std::ios::sync_with_stdio(false)
 46 
 47 typedef vector<int> VI;
 48 typedef vector<string> VS;
 49 typedef vector<double> VD;
 50 typedef pair<int, int> pii;
 51 typedef long long int64;
 52 
 53 const double eps = 1e-8;
 54 const double PI = atan(1.0)*4;
 55 const int maxint = 2139062143;
 56 
 57 int dit[20], two[20];
 58 
 59 int gao(int x)
 60 {
 61     two[0] = 1;
 62     for (int i = 1; i < 15; ++ i)
 63         two[i] = two[i-1] * 2;
 64 
 65     int len = 0;
 66     while (x){
 67         dit[len++] = x % 10;
 68         x /= 10;
 69     }
 70 
 71     int ret = 0;
 72     for (int i = 1; i < len; ++ i)
 73         ret += two[i];
 74     for (int i = len-1; i >= 0; -- i){
 75         if (4 < dit[i]) ret += two[i];
 76         if (7 < dit[i]) ret += two[i];
 77         if (dit[i] != 4 && dit[i] != 7) break;
 78     } 
 79     return ret;
 80 }
 81 
 82 class TheLuckyNumbers
 83 {
 84     public:
 85         int count(int a, int b){
 86             return gao(b+1) - gao(a);
 87         }
 88         
 89 // BEGIN CUT HERE
 90     public:
 91     void run_test(int Case) { if ((Case == -1) || (Case == 0)) test_case_0(); if ((Case == -1) || (Case == 1)) test_case_1(); if ((Case == -1) || (Case == 2)) test_case_2(); if ((Case == -1) || (Case == 3)) test_case_3(); }
 92     private:
 93     template <typename T> string print_array(const vector<T> &V) { ostringstream os; os << "{ "; for (typename vector<T>::const_iterator iter = V.begin(); iter != V.end(); ++iter) os << '\"' << *iter << "\","; os << " }"; return os.str(); }
 94     void verify_case(int Case, const int &Expected, const int &Received) { cerr << "Test Case #" << Case << "..."; if (Expected == Received) cerr << "PASSED" << endl; else { cerr << "FAILED" << endl; cerr << "\tExpected: \"" << Expected << '\"' << endl; cerr << "\tReceived: \"" << Received << '\"' << endl; } }
 95     void test_case_0() { int Arg0 = 1; int Arg1 = 1000000000; int Arg2 = 1022; verify_case(0, Arg2, count(Arg0, Arg1)); }
 96     void test_case_1() { int Arg0 = 11; int Arg1 = 20; int Arg2 = 0; verify_case(1, Arg2, count(Arg0, Arg1)); }
 97     void test_case_2() { int Arg0 = 74; int Arg1 = 77; int Arg2 = 2; verify_case(2, Arg2, count(Arg0, Arg1)); }
 98     void test_case_3() { int Arg0 = 1000000; int Arg1 = 5000000; int Arg2 = 64; verify_case(3, Arg2, count(Arg0, Arg1)); }
 99 
100 // END CUT HERE
101 
102 };
103 
104 // BEGIN CUT HERE
105 int main()
106 {
107 //    freopen( "a.out" , "w" , stdout );    
108     TheLuckyNumbers ___test;
109     ___test.run_test(-1);
110        return 0;
111 }
112 // END CUT HERE
View Code

 

DIV1 500pt

题意:称各个数位只含有4和7的数为lucky number,称完全由来自vector<int> numbers(含有lucky number和也含有unlucky number)里面的lucky number组成,且每一个a[i]的末位数字和a[i+1]的首位数字均相同的序列为lucky sequence。给定vector<int> numbers和int n,求长度为n的lucky sequence有多少个。只要一个数不同,则lucky sequence视为不同。

解法:lucky number分为四种,分别为4开头4结尾的,4开头7结尾的,7开头4结尾的,7开头7结尾的。若a[i]属于第A类,且a[i+1]可以为B类,则从A向B连接一条有向边。这样,就相当于求长度为n的路径有多少条。

   我最初的想法是二分,设f(x, s, e)表示求长度为x,从s类开始,从e类结束的路径有多少条,f(x, s, e)由 f(x/2, s, i) 和 f(x-x/2, i, e)求得。我以为这样二分以后时间复杂度降低了,实际上每次二分都有4个决策,时间复杂度反而提升了,于是我毫无悬念地TLE了。然后,我改了代码,把x / 2变成了x / 10000,即将x分为10001段来求,由于前面每一段长度均为x/10000,后面一段长度为x - x/10000,所以实际上只需要求20个东西,这样时间复杂度就降低到能接受的范围了。

   虽然算是水过了这道题,还是蛮开心的.....

   官方题解给出的方法是用矩阵快速幂优化。其实要构造这个并不难吧。。。当时想了一下用矩阵,怎么就没想出来呢。。。。

tag:矩阵乘法

  1 // BEGIN CUT HERE
  2 /*
  3  * Author:  plum rain
  4  * score :
  5  */
  6 /*
  7 
  8  */
  9 // END CUT HERE
 10 #line 11 "TheLuckySequence.cpp"
 11 #include <sstream>
 12 #include <stdexcept>
 13 #include <functional>
 14 #include <iomanip>
 15 #include <numeric>
 16 #include <fstream>
 17 #include <cctype>
 18 #include <iostream>
 19 #include <cstdio>
 20 #include <vector>
 21 #include <cstring>
 22 #include <cmath>
 23 #include <algorithm>
 24 #include <cstdlib>
 25 #include <set>
 26 #include <queue>
 27 #include <bitset>
 28 #include <list>
 29 #include <string>
 30 #include <utility>
 31 #include <map>
 32 #include <ctime>
 33 #include <stack>
 34 
 35 using namespace std;
 36 
 37 #define CLR(x) memset(x, 0, sizeof(x))
 38 #define CLR1(x) memset(x, -1, sizeof(x))
 39 #define PB push_back
 40 #define SZ(v) ((int)(v).size())
 41 #define ALL(t) t.begin(),t.end()
 42 #define zero(x) (((x)>0?(x):-(x))<eps)
 43 #define out(x) cout<<#x<<":"<<(x)<<endl
 44 #define tst(a) cout<<#a<<endl
 45 #define CINBEQUICKER std::ios::sync_with_stdio(false)
 46 
 47 typedef vector<int> VI;
 48 typedef vector<string> VS;
 49 typedef vector<double> VD;
 50 typedef pair<int, int> pii;
 51 typedef long long int64;
 52 
 53 const double eps = 1e-8;
 54 const double PI = atan(1.0)*4;
 55 const int maxint = 2139062143;
 56 const int mod = 1234567891;
 57 
 58 int64 cnt[4];
 59 pii temp[4];
 60 set<int> st;
 61 int64 pat[4][4], d[40000][4][4];
 62 int64 an[40000][4];
 63 
 64 int gao(int x)
 65 {
 66     pii num;
 67     num.second = x % 10;
 68     while (x >= 10){
 69         int tmp = x % 10;
 70         x /= 10;
 71         if (tmp != 7 && tmp != 4) return -1;
 72     }
 73     num.first = x % 10;
 74     for (int i = 0; i < 4; ++ i)
 75         if (num == temp[i]) return i;
 76     return -1;
 77 }
 78 
 79 int64 rec(int len, int s, int e)
 80 {
 81     if (!len) return s == e;
 82     if (len == 1) return pat[s][e];
 83     
 84     if (len < 40000 && d[len][s][e] != -1)
 85         return d[len][s][e];
 86 
 87     if (len < 40000){
 88         int haf = len / 2;
 89         int64 &ret = d[len][s][e];
 90         ret = 0;
 91         for (int i = 0; i < 4; ++ i)
 92             ret = (ret + rec(haf, s, i) * rec(len-haf, i, e)) % mod;
 93         return ret;
 94     }
 95 
 96     int haf = len / 40000;
 97     CLR (an);
 98     for (int i = 0; i < 4; ++ i)
 99         an[0][i] = rec(haf, s, i);
100     for (int i = 1; i < 40000; ++ i)
101         for (int j = 0; j < 4; ++ j)
102             for (int k = 0; k < 4; ++ k)
103                 an[i][j] = (an[i][j] + an[i-1][k] * rec(haf, k, j)) % mod;
104     int64 ret = 0;
105     for (int i = 0; i < 4; ++ i)
106         ret = (ret + an[39999][i] * rec(len-haf*40000, i, e)) % mod; 
107     return ret;
108 }
109 
110 class TheLuckySequence
111 {
112     public:
113         int count(vector <int> num, int len){
114             temp[0] = make_pair(4,4); temp[1] = make_pair(4,7);
115             temp[2] = make_pair(7,4); temp[3] = make_pair(7,7);
116 
117             CLR (cnt); st.clear();
118             for (int i = 0; i < (int)num.size(); ++ i){ 
119                 int tmp = gao(num[i]);
120                 if (tmp != -1 && !st.count(num[i])){
121                     ++ cnt[tmp];
122                     st.insert(num[i]);
123                 }
124             }
125             CLR (pat);
126             for (int i = 0; i < 4; ++ i)
127                 for (int j = 0; j < 4; ++ j)
128                     if (temp[i].second == temp[j].first){
129                         pat[i][j] = cnt[i];
130                     }
131 
132             CLR1 (d);
133             int64 ret = 0;
134             for (int i = 0; i < 4; ++ i)
135                 for (int j = 0; j < 4; ++ j)
136                     ret = (ret + rec(len-1, i, j) * cnt[j]) % mod;
137             return (int)ret;
138         }
139         
140 // BEGIN CUT HERE
141     public:
142     void run_test(int Case) { if ((Case == -1) || (Case == 0)) test_case_0(); if ((Case == -1) || (Case == 1)) test_case_1(); if ((Case == -1) || (Case == 2)) test_case_2(); if ((Case == -1) || (Case == 3)) test_case_3(); }
143     private:
144     template <typename T> string print_array(const vector<T> &V) { ostringstream os; os << "{ "; for (typename vector<T>::const_iterator iter = V.begin(); iter != V.end(); ++iter) os << '\"' << *iter << "\","; os << " }"; return os.str(); }
145     void verify_case(int Case, const int &Expected, const int &Received) { cerr << "Test Case #" << Case << "..."; if (Expected == Received) cerr << "PASSED" << endl; else { cerr << "FAILED" << endl; cerr << "\tExpected: \"" << Expected << '\"' << endl; cerr << "\tReceived: \"" << Received << '\"' << endl; } }
146     void test_case_0() { int Arr0[] = {44, 47, 74, 77, 44, 47, 74, 77}; vector <int> Arg0(Arr0, Arr0 + (sizeof(Arr0) / sizeof(Arr0[0]))); int Arg1 = 1000000000; int Arg2 = 1133762585; verify_case(0, Arg2, count(Arg0, Arg1)); }
147     void test_case_1() { int Arr0[] = {47, 74, 47}; vector <int> Arg0(Arr0, Arr0 + (sizeof(Arr0) / sizeof(Arr0[0]))); int Arg1 = 3; int Arg2 = 2; verify_case(1, Arg2, count(Arg0, Arg1)); }
148     void test_case_2() { int Arr0[] = {100, 4774, 200, 747, 300}; vector <int> Arg0(Arr0, Arr0 + (sizeof(Arr0) / sizeof(Arr0[0]))); int Arg1 = 47; int Arg2 = 2; verify_case(2, Arg2, count(Arg0, Arg1)); }
149     void test_case_3() { int Arr0[] = {44, 47, 74, 77}; vector <int> Arg0(Arr0, Arr0 + (sizeof(Arr0) / sizeof(Arr0[0]))); int Arg1 = 2; int Arg2 = 8; verify_case(3, Arg2, count(Arg0, Arg1)); }
150 
151 // END CUT HERE
152 
153 };
154 
155 // BEGIN CUT HERE
156 int main()
157 {
158 //    freopen( "a.out" , "w" , stdout );    
159     TheLuckySequence ___test;
160     ___test.run_test(-1);
161        return 0;
162 }
163 // END CUT HERE
View Code

 

转载于:https://www.cnblogs.com/plumrain/p/srm_403.html

FUNCTION zmm_oatosap_077. *"---------------------------------------------------------------------- *"*"本地接口: *" IMPORTING *" VALUE(IV_OA_NUM) TYPE ZEPP_OA_NUM *" VALUE(IV_ZAFNAM) TYPE AFNAM *" EXPORTING *" VALUE(E_STATUS) TYPE BAPI_MTYPE *" VALUE(E_MESSAGE) TYPE BAPI_MSG *" TABLES *" T_DATA_BASIS STRUCTURE ZSMM_057 *" T_DATA_FACTORY STRUCTURE ZSMM_058 *"---------------------------------------------------------------------- zfmparavalsave1 . zfmparavalsave2 'START'. DATA:ls_headdata TYPE bapimathead, ls_clientdata TYPE bapi_mara, ls_clientdatax TYPE bapi_marax, lt_materialdescription TYPE TABLE OF bapi_makt, ls_materialdescription TYPE bapi_makt, lt_materiallongtext TYPE TABLE OF bapi_mltx , ls_materiallongtext TYPE bapi_mltx , ls_storagelocationdata TYPE bapi_mard, ls_storagelocationdatax TYPE bapi_mardx, ls_return TYPE bapiret2, ls_plantdata TYPE bapi_marc, ls_plantdatax TYPE bapi_marcx, ls_valuationdata TYPE bapi_mbew, ls_valuationdatax TYPE bapi_mbewx, lt_returnmessages TYPE TABLE OF bapi_matreturn2. DATA:ls_bapi_te_mara TYPE bapi_te_mara, ls_bapi_te_maras(960) TYPE c, ls_bapi_te_marax TYPE bapi_te_marax, ls_bapi_te_maraxs(960) TYPE c, ls_extensionin TYPE bapiparex , lt_extensionin TYPE TABLE OF bapiparex, ls_extensioninx TYPE bapiparexx, lt_extensioninx TYPE TABLE OF bapiparexx. DATA:lv_key TYPE bapi1003_key-object, lv_table TYPE bapi1003_key-objecttable VALUE 'MARA', lv_class TYPE bapi1003_key-classnum VALUE 'Z_BATCH_CLASS', lv_class_type TYPE bapi1003_key-classtype VALUE '022', lv_status TYPE bapi1003_key-status, lt_num LIKE bapi1003_alloc_values_num OCCURS 0 WITH HEADER LINE, lt_char LIKE bapi1003_alloc_values_char OCCURS 0 WITH HEADER LINE, lt_curr LIKE bapi1003_alloc_values_curr OCCURS 0 WITH HEADER LINE, lt_ret LIKE bapiret2 OCCURS 0 WITH HEADER LINE. DATA l_object LIKE bapi1003_key-object. DATA ls_mara TYPE mara. TYPES:BEGIN OF ty_class, klart LIKE klah-klart, "类别种类 class LIKE klah-class, "类号 END OF ty_class. DATA: ls_class TYPE ty_class, lt_class TYPE STANDARD TABLE OF ty_class. DATA: ls_ztmm065 TYPE ztmm065, "E001593 20251117 lt_ztmm065 TYPE STANDARD TABLE OF ztmm065, "E001593 20251117 ls_ztmm066 TYPE ztmm066, "E001593 20251117 lt_ztmm066 TYPE STANDARD TABLE OF ztmm066. "E001593 20251117 CLEAR lt_ztmm066. LOOP AT t_data_basis WHERE status <> 'S'. SELECT matnr INTO TABLE @DATA(lt_mara_check) FROM mara WHERE matnr = @t_data_basis-matnr. IF lt_mara_check IS NOT INITIAL. t_data_basis-status = 'E'. t_data_basis-message = '物料基本视图已经存在!'. MODIFY t_data_basis. CLEAR t_data_basis. EXIT. ENDIF. *-------------增加校验物料检验类型E001593 20251117------------------------------- CLEAR ls_ztmm065. IF t_data_basis-matkl = 'M011' OR t_data_basis-matkl = 'M013' OR t_data_basis-matkl = 'M014'. SELECT SINGLE * INTO ls_ztmm065 FROM ztmm065 WHERE matkl = t_data_basis-matkl. " 物料组 IF ls_ztmm065 IS NOT INITIAL AND t_data_basis-zjylx IS NOT INITIAL AND ls_ztmm065-zaccep_cat <> t_data_basis-zjylx. "e001593 20251215 CLEAR ls_ztmm066. ls_ztmm066-matnr = t_data_basis-matnr. " 物料号 ls_ztmm066-zaccep_cat = t_data_basis-zjylx. " OA传输的检验类型 ls_ztmm066-erdat = sy-datum. " 创建日期 ls_ztmm066-erzet = sy-uzeit. " 创建时间 ls_ztmm066-ernam = sy-uname. " 创建人 APPEND ls_ztmm066 TO lt_ztmm066. ENDIF. ENDIF. *-------------------------------------------------------------------------------- IF t_data_basis-mtart = 'Z013'. IF t_data_basis-zmatnr IS INITIAL OR t_data_basis-zvcode IS INITIAL OR t_data_basis-zwafer_type IS INITIAL. t_data_basis-status = 'E'. t_data_basis-message = 'WAFER类物料,WAFER TYPE、物料编码(不含简码)、供应商简码字段必填!' . MODIFY t_data_basis. CLEAR t_data_basis. EXIT. ENDIF. ENDIF. * IF t_data_basis-matkl = 'M013' OR t_data_basis-matkl = 'M014'. * * ENDIF. CLEAR ls_headdata. ls_headdata-material = t_data_basis-matnr."物料号 ls_headdata-ind_sector = t_data_basis-mbrsh."'M'."行业领域 MARA-MBRSH ls_headdata-matl_type = t_data_basis-mtart.".'Z011'."物料类型 MARA-MTART ls_headdata-basic_view = 'X'. ls_headdata-storage_view = 'X'. CLEAR ls_clientdata. ls_clientdata-matl_group = t_data_basis-matkl."'SC01'."物料组MARA-MATKL CALL FUNCTION 'CONVERSION_EXIT_CUNIT_INPUT' EXPORTING input = t_data_basis-meins LANGUAGE = SY-LANGU IMPORTING OUTPUT = t_data_basis-meins EXCEPTIONS UNIT_NOT_FOUND = 1 OTHERS = 2 . IF sy-subrc <> 0. * Implement suitable error handling here ENDIF. ls_clientdata-base_uom = t_data_basis-meins. " 基本计量单位MARA-MEINS ls_clientdata-division = t_data_basis-spart. "产品组 MARA-SPART ls_clientdata-qm_procmnt = t_data_basis-qmpur. "产品组 MARA-SPART ls_clientdata-minremlife = t_data_basis-mhdrz."最短剩余货架寿命 MARA-MHDRZ ls_clientdata-shelf_life = t_data_basis-mhdhb."总货架寿命 ls_clientdata-period_ind_expiration_date = t_data_basis-iprkz. " 货架寿命到期日的期间标识 ls_clientdata-old_mat_no = t_data_basis-bismt. "旧物料号 ls_clientdata-po_unit = t_data_basis-bstme. ""采购订单的计量单位 MARA-BSTME ls_clientdata-qm_procmnt = t_data_basis-qmpur. "质量数据 MARA-QMPUR CLEAR ls_clientdatax. ls_clientdatax-matl_group = 'X'."物料组MARA-MATKL ls_clientdatax-base_uom = 'X'. "基本计量单位MARA-MEINS ls_clientdatax-division = 'X'. "产品组 MARA-SPART ls_clientdatax-minremlife = 'X'."最短剩余货架寿命 MARA-MHDRZ ls_clientdatax-shelf_life = 'X'."总货架寿命 ls_clientdatax-period_ind_expiration_date = 'X'."货架寿命到期日的期间标识 ls_clientdatax-old_mat_no = 'X'.""旧物料号 ls_clientdatax-po_unit = 'X'.""旧物料号 ls_clientdatax-qm_procmnt = 'X'.""旧物料号 CLEAR: lt_materialdescription,ls_materialdescription. ls_materialdescription-matl_desc = t_data_basis-maktx_c. "物料描述取text2字段前40位字符 ls_materialdescription-langu = '1'. APPEND ls_materialdescription TO lt_materialdescription. IF t_data_basis-maktx_e IS NOT INITIAL. ls_materialdescription-matl_desc = t_data_basis-maktx_e."英文物料描述MAKT-MAKTX ls_materialdescription-langu = 'E'. APPEND ls_materialdescription TO lt_materialdescription. ENDIF. "物料长文本赋值 CLEAR:lt_materiallongtext,ls_materiallongtext. ls_materiallongtext-applobject = 'MATERIAL'. ls_materiallongtext-text_name = t_data_basis-matnr. ls_materiallongtext-text_id = 'GRUN'. ls_materiallongtext-langu = sy-langu. ls_materiallongtext-format_col = '*'. ls_materiallongtext-text_line = t_data_basis-maktx_c. APPEND ls_materiallongtext TO lt_materiallongtext. CLEAR: ls_extensionin,ls_extensioninx,lt_extensionin,lt_extensioninx, ls_bapi_te_mara,ls_bapi_te_marax,ls_bapi_te_maras,ls_bapi_te_maraxs. ls_bapi_te_mara-material = t_data_basis-matnr. ls_bapi_te_mara-zts = t_data_basis-zts. ls_bapi_te_mara-zwafer_type = t_data_basis-zwafer_type. ls_bapi_te_mara-zmatnr = t_data_basis-zmatnr. ls_bapi_te_mara-zvcode = t_data_basis-zvcode. ls_bapi_te_mara-zwflx = t_data_basis-zwflx. ls_bapi_te_mara-zsfkyr = t_data_basis-zsfkyr. ls_bapi_te_mara-zsfkp = t_data_basis-zsfkp. ls_bapi_te_mara-zgross_die = t_data_basis-zgross_die. ls_bapi_te_marax-material = t_data_basis-matnr. ls_bapi_te_marax-zts = 'X'. ls_bapi_te_marax-zwafer_type = 'X'. ls_bapi_te_marax-zmatnr = 'X'. ls_bapi_te_marax-zvcode = 'X'. ls_bapi_te_marax-zwflx = 'X'. ls_bapi_te_marax-zsfkyr = 'X'. ls_bapi_te_marax-zsfkp = 'X'. ls_bapi_te_marax-zgross_die = 'X'. CALL METHOD cl_abap_container_utilities=>fill_container_c EXPORTING im_value = ls_bapi_te_mara IMPORTING ex_container = ls_bapi_te_maras. ls_extensionin-structure = 'BAPI_TE_MARA'. ls_extensionin-valuepart1 = ls_bapi_te_maras+0(240). ls_extensionin-valuepart2 = ls_bapi_te_maras+240(240). APPEND ls_extensionin TO lt_extensionin. CALL METHOD cl_abap_container_utilities=>fill_container_c EXPORTING im_value = ls_bapi_te_marax IMPORTING ex_container = ls_bapi_te_maraxs. ls_extensioninx-structure = 'BAPI_TE_MARAX'. ls_extensioninx-valuepart1 = ls_bapi_te_maraxs+0(240). ls_extensioninx-valuepart2 = ls_bapi_te_maraxs+240(240). APPEND ls_extensioninx TO lt_extensioninx. CLEAR:ls_return,lt_returnmessages. CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA' EXPORTING headdata = ls_headdata clientdata = ls_clientdata clientdatax = ls_clientdatax IMPORTING return = ls_return TABLES materialdescription = lt_materialdescription materiallongtext = lt_materiallongtext returnmessages = lt_returnmessages extensionin = lt_extensionin extensioninx = lt_extensioninx. IF ls_return-type = 'S'. CALL FUNCTION 'BAPI_TRANSACTION_COMMIT' EXPORTING wait = 'X'. t_data_basis-status = 'S'. t_data_basis-message = '物料基本视图创建成功!'. "物料主数据传SRM CLEAR ls_mara. ls_mara-matnr = t_data_basis-matnr. CALL FUNCTION 'ZMM_SAPTOSRM_010' STARTING NEW TASK 'lv_srm_task' EXPORTING i_mara = ls_mara * IV_UPD_MARA = * I_MARC = * IV_UPD_MARC = * IV_UPD_MAKT = * IV_UPD_MARM = iv_zsynchrono = 'Z' * IMPORTING * E_STATUS = * E_MESSAGE = * TABLES * T_MAKT = * T_MARM = . *------------------------物料检验方式插入ZTMM066------------------------------E001593 20251117 IF lt_ztmm066 IS NOT INITIAL. MODIFY ztmm066 FROM TABLE lt_ztmm066. ENDIF. *------------------------物料检验方式插入ZTMM066------------------------------E001593 20251117 ELSE. CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'. t_data_basis-status = 'E'. t_data_basis-message = ls_return-message && ls_return-message_v1 && ls_return-message_v2 && ls_return-message_v3 && ls_return-message_v4. ENDIF. CLEAR :lt_materialdescription,ls_materialdescription,lt_materiallongtext,ls_materiallongtext,lt_returnmessages, lt_extensionin,ls_extensionin,lt_extensioninx,ls_extensioninx,ls_headdata,ls_clientdata, ls_clientdatax. IF ls_return-type = 'S'. "读取该物料有没扩充分类视图 l_object = t_data_basis-matnr. CALL FUNCTION 'BAPI_OBJCL_GETDETAIL' EXPORTING objectkey = l_object objecttable = 'MARA' classnum = t_data_basis-class classtype = t_data_basis-klart TABLES allocvaluesnum = lt_num allocvalueschar = lt_char allocvaluescurr = lt_curr return = lt_ret. REFRESH:lt_num[], lt_char[], lt_curr[]. CLEAR:lt_num, lt_char, lt_curr. "分类特性 "供应商料号 lt_char-charact = 'VMAT'. lt_char-value_char = t_data_basis-vmat. APPEND lt_char. "供应商 lt_char-charact = 'VENDOR'. lt_char-value_char = t_data_basis-vendor. APPEND lt_char. "专案名称 lt_char-charact = 'CASENAME'. lt_char-value_char = t_data_basis-casename. APPEND lt_char. "是否保税 lt_char-charact = 'BONDED'. lt_char-value_char = t_data_basis-is_bonded. APPEND lt_char. "备注 lt_char-charact = 'REMARK'. lt_char-value_char = t_data_basis-remark. APPEND lt_char. "客户物料号(P/N) lt_char-charact = 'CPARTID'. lt_char-value_char = t_data_basis-cpartid. APPEND lt_char. "封装形式 lt_char-charact = 'PTYPE'. lt_char-value_char = t_data_basis-ptype. APPEND lt_char. "location lt_char-charact = 'LOCAT'. lt_char-value_char = t_data_basis-location. APPEND lt_char. READ TABLE lt_ret WITH KEY type = 'S' id = 'CL' number = 731. "当没有创建的,进入修改模式 IF sy-subrc <> 0. "删除已有分类 REFRESH lt_ret[]. SELECT a~klart "将已有分类类号从表中取出 a~class INTO TABLE lt_class FROM klah AS a JOIN kssk AS b ON a~clint = b~clint WHERE b~objek = l_object. "一个类号下只允许存在一个种类,所以需要删除该类号下已存在的种类 LOOP AT lt_class INTO ls_class WHERE klart = t_data_basis-klart. CALL FUNCTION 'BAPI_OBJCL_DELETE' "删除已有分类 EXPORTING objectkey = l_object objecttable = 'MARA' classnum = t_data_basis-class classtype = t_data_basis-klart * CHANGENUMBER = * KEYDATE = SY-DATUM TABLES return = lt_ret. READ TABLE lt_ret WITH KEY type = 'E'. IF sy-subrc <> 0. CALL FUNCTION 'BAPI_TRANSACTION_COMMIT' EXPORTING wait = 'X'. ELSE. CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'. ENDIF. REFRESH lt_ret[]. CLEAR: ls_class. ENDLOOP. "分类视图创建 CALL FUNCTION 'BAPI_OBJCL_CREATE' EXPORTING objectkeynew = l_object objecttablenew = 'MARA' classnumnew = t_data_basis-class classtypenew = t_data_basis-klart status = '1' no_default_values = 'X' TABLES allocvaluesnum = lt_num allocvalueschar = lt_char allocvaluescurr = lt_curr return = lt_ret. READ TABLE lt_ret WITH KEY type = 'E'. IF sy-subrc <> 0. CALL FUNCTION 'BAPI_TRANSACTION_COMMIT' EXPORTING wait = 'X'. t_data_basis-status = lt_ret-type. CONCATENATE '物料' t_data_basis-matnr '基本视图维护成功!' INTO t_data_basis-message. ELSE. CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'. t_data_basis-status = lt_ret-type. CONCATENATE '物料' t_data_basis-matnr '基本视图维护失败!' INTO t_data_basis-message. ENDIF. ELSE. "修改模式 REFRESH lt_ret[]. CALL FUNCTION 'BAPI_OBJCL_CHANGE' EXPORTING objectkey = l_object objecttable = 'MARA' classnum = t_data_basis-class classtype = t_data_basis-klart no_default_values = 'X' TABLES allocvaluesnumnew = lt_num allocvaluescharnew = lt_char allocvaluescurrnew = lt_curr return = lt_ret. READ TABLE lt_ret WITH KEY type = 'E'. IF sy-subrc <> 0. CALL FUNCTION 'BAPI_TRANSACTION_COMMIT' EXPORTING wait = 'X'. t_data_basis-status = lt_ret-type. CONCATENATE '物料' t_data_basis-matnr '基本视图维护成功!' INTO t_data_basis-message. ELSE. CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'. t_data_basis-status = lt_ret-type. CONCATENATE '物料' t_data_basis-matnr '基本视图维护失败!' INTO t_data_basis-message. ENDIF. ENDIF. ELSE. ENDIF. MODIFY t_data_basis. WAIT UP TO '0.1' SECONDS. ENDLOOP. LOOP AT t_data_factory WHERE status <> 'S'. IF t_data_factory-vprsv = 'S' AND t_data_factory-mmsta <> '99'. t_data_factory-status = 'E'. t_data_factory-message = '价格控制为S,物料状态必为99!'. MODIFY t_data_factory. CLEAR t_data_factory. CONTINUE. ENDIF. IF t_data_factory-vprsv = 'V' AND t_data_factory-ncost <> 'X'. t_data_factory-status = 'E'. t_data_factory-message = '价格控制为V时,无成本核算不能为空!'. MODIFY t_data_factory. CLEAR t_data_factory. CONTINUE. ENDIF. SELECT werks, matnr INTO TABLE @DATA(lt_marc_check) FROM marc WHERE matnr = @t_data_factory-matnr AND werks = @t_data_factory-werks. IF lt_marc_check IS NOT INITIAL. t_data_factory-status = 'E'. t_data_factory-message = '物料工厂视图已经存在!'. MODIFY t_data_factory. CLEAR t_data_factory. EXIT. ENDIF. CLEAR :ls_headdata. ls_headdata-material = t_data_factory-matnr."物料号 ls_headdata-work_sched_view = 'X'. ls_headdata-purchase_view = 'X'. ls_headdata-mrp_view = 'X'. ls_headdata-quality_view = 'X'. ls_headdata-storage_view = 'X'. ls_headdata-account_view = 'X'. ls_headdata-cost_view = 'X'. "财务数据 CLEAR ls_valuationdata . ls_valuationdata-val_class = t_data_factory-bklas. " MBEW-BKLAS 评估类 ls_valuationdata-price_ctrl = t_data_factory-vprsv. " MBEW-VPRSV 价格控制指示符 ls_valuationdata-ml_settle = t_data_factory-mlast. " MBEW-MLAST 价格确定 ls_valuationdata-price_unit = t_data_factory-peinh. " MBEW-PEINH 价格单位 ls_valuationdata-qty_struct = t_data_factory-ekalr. " MBEW-EKALR 用QS的成本估算 ls_valuationdata-orig_mat = t_data_factory-hkmat. " MBEW-HKMAT 物料相关的源 ls_valuationdata-overhead_grp = t_data_factory-kosgr. " MBEW-KOSGR 成本核算间接费用组 * valuationdata-plndprice1 = i_data2-zplp1. " MBEW-ZPLP1计划价格 1 * valuationdata-plndprdate1 = i_data2-zpld1. " MBEW-ZPLD1计划价格日期1 ls_valuationdata-val_area = t_data_factory-werks. " 评估范围 * CLEAR ls_valuationdatax . ls_valuationdatax-val_class = 'X'." MBEW-BKLAS 评估类 ls_valuationdatax-price_ctrl = 'X'." MBEW-VPRSV 价格控制指示符 ls_valuationdatax-ml_settle = 'X'." MBEW-MLAST 价格确定 ls_valuationdatax-price_unit = 'X'." MBEW-PEINH 价格单位 ls_valuationdatax-qty_struct = 'X'." MBEW-PEINH 用QS的成本估算 ls_valuationdatax-orig_mat = 'X'." MBEW-HKMAT 物料相关的源 ls_valuationdatax-overhead_grp = 'X'." MBEW-KOSGR 成本核算间接费用组 * valuationdatax-plndprice1 = 'X'." MBEW-ZPLP1 计划价格 1 * valuationdatax-plndprdate1 = 'X'." MBEW-ZPLD1 计划价格日期1 ls_valuationdatax-val_area = t_data_factory-werks."评估范围 CLEAR ls_plantdata . ls_plantdata-plant = t_data_factory-werks. " MARC-WERKS 工厂 ls_plantdata-pur_group = t_data_factory-ekgrp. " MARC-EKGRP 采购组 ls_plantdata-auto_p_ord = t_data_factory-kautb. " MARC-KAUTB 采购数据 ls_plantdata-gr_pr_time = t_data_factory-webaz. " MARC-WEBAZ 收货处理时间 ls_plantdata-batch_mgmt = t_data_factory-xchpf. " MARC-XCHPF 标识:批次管理需求 ls_plantdata-minlotsize = t_data_factory-bstmi."'EX'. " MARC-BSTMI 最小批量大小(BTCI) ls_plantdata-round_val = t_data_factory-bstrf. " MARC-BSTRF 舍入值 ls_plantdata-sloc_exprc = t_data_factory-lgfsb."'SF01'. " MARC-LGFSB 外部采购仓储地点 ls_plantdata-plnd_delry = t_data_factory-plifz. " MARC-PLIFZ 计划交货时间(天数) ls_plantdata-mrp_type = t_data_factory-dismm."'PD'. " MARC-DISMM MRP 类型 * plantdata-reorder_pt = i_data2-minbe. " MARC-MINBE 再订货点 " ls_plantdata-mrp_ctrler = t_data_factory-dispo."'001'. " MARC-DISPO MRP 控制者 ls_plantdata-lotsizekey = t_data_factory-disls."'EX'. " MARC-DISLS 批量大小 * plantdata-assy_scrap = i_data2-ausss. " MARC-AUSSS 装配报废t-text_id = 'GRUN'. IF t_data_factory-beskz IS NOT INITIAL. ls_plantdata-proc_type = t_data_factory-beskz."'E'. " MARC-BESKZ 采购类型 ENDIF. ls_plantdata-spproctype = t_data_factory-sobsl. " MARC-SOBSL 特殊采购类型 ls_plantdata-inhseprodt = t_data_factory-dzeit. " MARC-DZEIT 自制生产时间 * ls_plantdata-safety_stk = t_data_factory-eisbe. " MARC-EISBE 安全库存 ls_plantdata-sm_key = t_data_factory-fhori."'000'. " MARC-FHORI 计划边际码 ls_plantdata-backflush = t_data_factory-rgekz ." MARC-RGEKZ 标识:反冲 ls_plantdata-plan_strgp = t_data_factory-strgr."'40'. " MARC-STRGR 策略组 ls_plantdata-consummode = t_data_factory-vrmod."'2'. " MARC-VRMOD 消耗模式* ls_plantdata-fwd_cons = t_data_factory-vint2."'999'. " MARC-VINT2 向前消耗期间 ls_plantdata-bwd_cons = t_data_factory-vint1."'999'. " MARC-VINT1 逆向消耗期间 ls_plantdata-issue_unit = t_data_factory-ausme. " MARC-AUSME 发料单位 ls_plantdata-issue_unit_iso = t_data_factory-ausme. " MARC-AUSME 发料单位 ls_plantdata-availcheck = t_data_factory-mtvfp."'02'. " MARC-MTVFP 可用性检查 ls_plantdata-dep_req_id = t_data_factory-sbdkz."''. " MARC-SBDKZ 独立/集中 * plantdata-prod_unit = i_data2-frtme. " MARC-FRTME 生产 单位 ls_plantdata-production_scheduler = t_data_factory-fevor."'001'." MARC-FEVOR 生产调度员 IF t_data_factory-fevor IS NOT INITIAL. ls_plantdata-prodprof = '000001'." MARC-SFCPF 生产计划参数文件 ENDIF. ls_plantdata-iss_st_loc = t_data_factory-lgpro."'SF01'. " MARC-LGPRO 生产仓储地点 * plantdata-over_tol = i_data2-ueeto. " MARC-UEETO 过度交货允差 " ls_plantdata-pur_status = t_data_factory-mmsta."'99' ." MARC-MMSTA 工厂特定的物料状态 ls_plantdata-lot_size = t_data_factory-losgr."'1'. " MARC-LOSGR 成本核算单位 ls_plantdata-no_costing = t_data_factory-ncost. " MARC-NCOST 无成本核算 ls_plantdata-variance_key = t_data_factory-awsls."'000001'. " MARC-AWSLS 差异码 ls_plantdata-ind_post_to_insp_stock = t_data_factory-insmk. " MARC-INSMK 活动 ls_plantdata-ctrl_key = '0001'. "QM控制码 CLEAR ls_plantdatax. ls_plantdatax-plant = t_data_factory-werks. " MARC-WERKS 工厂 ls_plantdatax-lot_size = 'X'. " MARC-LOSGR 成本核算单位 ls_plantdatax-issue_unit = 'X'. " MARC-AUSME 发料单位 ls_plantdatax-issue_unit_iso = 'X'. " MARC-AUSME 发料单位 ls_plantdatax-pur_status = 'X' ." MARC-MMSTA 工厂特定的物料状态 ls_plantdatax-variance_key = 'X'. " MARC-AWSLS 差异码 ls_plantdatax-pur_group = 'X'. " MARC-EKGRP 采购组 ls_plantdatax-auto_p_ord = 'X'. " MARC-KAUTB 采购数据 ls_plantdatax-gr_pr_time = 'X'. " MARC-WEBAZ 收货处理时间 ls_plantdatax-batch_mgmt = 'X'. " MARC-XCHPF 标识:批次管理需求 ls_plantdatax-lotsizekey = 'X'. " MARC-DISLS 批量大小 ls_plantdatax-minlotsize = 'X'. " MARC-BSTMI 最小批量大小(BTCI) ls_plantdatax-spproctype = 'X'. " MARC-SOBSL 特殊采购类型 ls_plantdatax-sloc_exprc = 'X'. " MARC-LGFSB 外部采购仓储地点 ls_plantdatax-plnd_delry = 'X'. " MARC-PLIFZ 计划交货时间(天数) * ls_plantdatax-safety_stk = 'X'. " MARC-EISBE 安全库存 ls_plantdatax-mrp_type = 'X'. " MARC-DISMM MRP 类型 * plantdatax-reorder_pt = 'X'. " MARC-MINBE 再订货点 ls_plantdatax-mrp_ctrler = 'X'. " MARC-DISPO MRP 控制者 ls_plantdatax-proc_type = 'X'. " MARC-BESKZ 采购类型 ls_plantdatax-iss_st_loc = 'X'. " MARC-LGPRO 生产仓储地点 ls_plantdatax-sm_key = 'X'. " MARC-FHORI 计划边际码 ls_plantdatax-backflush = 'X' ." MARC-RGEKZ 标识:反冲 ls_plantdatax-plan_strgp = 'X'. " MARC-STRGR 策略组 ls_plantdatax-consummode = 'X'. " MARC-VRMOD 消耗模式 ls_plantdatax-bwd_cons = 'X'. " MARC-VINT1 逆向消耗期间 ls_plantdatax-fwd_cons = 'X'. " MARC-VINT2 向前消耗期间 ls_plantdatax-availcheck = 'X'. " MARC-MTVFP 可用性检查 ls_plantdatax-dep_req_id = 'X'. " MARC-SBDKZ 独立/集中 ls_plantdatax-production_scheduler = 'X'." MARC-FEVOR 生产调度员 IF t_data_factory-fevor IS NOT INITIAL. ls_plantdatax-prodprof = 'X'." MARC-SFCPF 生产计划参数文件 ENDIF. ls_plantdatax-round_val = 'X'. " MARC-BSTRF 舍入值 ls_plantdatax-no_costing = 'X'. " MARC-NCOST 无成本核算 * plantdatax-assy_scrap = 'X'. " MARC-AUSSS 装配报废率 ls_plantdatax-inhseprodt = 'X'. " MARC-DZEIT 自制生产时间 * plantdatax-prod_unit = 'X'. " MARC-FRTME 生产单位 * plantdatax-over_tol = 'X'. " MARC-UEETO 过度交货允差 ls_plantdatax-ind_post_to_insp_stock = 'X'. " MARC-AWSLS 差异码 ls_plantdatax-ctrl_key = 'X'. "QM控制码 "扩充库存地点 CLEAR ls_storagelocationdata. ls_storagelocationdata-plant = t_data_factory-werks. ls_storagelocationdata-stge_loc = t_data_factory-lgfsb. CLEAR ls_storagelocationdatax. ls_storagelocationdatax-plant = t_data_factory-werks. ls_storagelocationdatax-stge_loc = t_data_factory-lgfsb. CLEAR:ls_return,lt_returnmessages. CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA' EXPORTING headdata = ls_headdata * clientdata = ls_clientdata * clientdatax = ls_clientdatax plantdata = ls_plantdata plantdatax = ls_plantdatax valuationdata = ls_valuationdata valuationdatax = ls_valuationdatax * salesdata = ls_salesdata * salesdatax = ls_salesdatax storagelocationdata = ls_storagelocationdata storagelocationdatax = ls_storagelocationdatax IMPORTING return = ls_return TABLES materialdescription = lt_materialdescription materiallongtext = lt_materiallongtext returnmessages = lt_returnmessages extensionin = lt_extensionin extensioninx = lt_extensioninx. IF ls_return-type = 'S'. CALL FUNCTION 'BAPI_TRANSACTION_COMMIT' EXPORTING wait = 'X'. t_data_factory-status = 'S'. t_data_factory-message = '物料工厂视图创建成功!'. CLEAR ls_mara. ls_mara-matnr = t_data_factory-matnr. CALL FUNCTION 'ZMM_SAPTOSRM_010' STARTING NEW TASK 'lv_srm_task' EXPORTING i_mara = ls_mara * IV_UPD_MARA = * I_MARC = * IV_UPD_MARC = * IV_UPD_MAKT = * IV_UPD_MARM = iv_zsynchrono = 'Z' * IMPORTING * E_STATUS = * E_MESSAGE = * TABLES * T_MAKT = * T_MARM = . IF t_data_factory-xchpf = 'X'. CLEAR:lv_key. lv_key+0(18) = t_data_factory-matnr. " 物料号 " 删除批次特性 REFRESH lt_ret[]. CALL FUNCTION 'BAPI_OBJCL_DELETE' EXPORTING objectkey = lv_key objecttable = 'MARA' classnum = lv_class classtype = lv_class_type * CHANGENUMBER = * KEYDATE = SY-DATUM * OBJECTKEY_LONG = TABLES return = lt_ret. READ TABLE lt_ret WITH KEY type = 'E'. IF sy-subrc <> 0. CALL FUNCTION 'BAPI_TRANSACTION_COMMIT' EXPORTING wait = 'X'. ELSE. CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'. ENDIF. REFRESH lt_ret[]. "批次特性的新建 CLEAR :lt_num,lt_char,lt_curr,lt_num[],lt_char[],lt_curr[],lt_ret,lt_ret[]. CALL FUNCTION 'BAPI_OBJCL_CREATE' EXPORTING objectkeynew = lv_key objecttablenew = 'MARA' classnumnew = lv_class classtypenew = lv_class_type status = '1' no_default_values = 'X' TABLES allocvaluesnum = lt_num allocvalueschar = lt_char allocvaluescurr = lt_curr return = lt_ret. READ TABLE lt_ret WITH KEY type = 'E'. IF sy-subrc <> 0. CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'. t_data_factory-status = 'S'. t_data_factory-message = '物料工厂视图维护成功!'. ELSE. t_data_factory-status = 'E'. t_data_factory-message = '物料工厂视图维护失败!'. CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'. ENDIF. ENDIF. ELSE. CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'. t_data_factory-status = 'E'. t_data_factory-message = ls_return-message && ls_return-message_v1 && ls_return-message_v2 && ls_return-message_v3 && ls_return-message_v4. ENDIF. MODIFY t_data_factory. CLEAR t_data_factory. WAIT UP TO '0.1' SECONDS. ENDLOOP. READ TABLE t_data_basis WITH KEY status = 'E'. IF sy-subrc = 0. e_status = 'E'. e_message = '基本视图创建失败!'. ENDIF. READ TABLE t_data_factory WITH KEY status = 'E'. IF sy-subrc = 0. e_status = 'E'. e_message = '工厂视图创建失败!'. ENDIF. IF e_status <> 'E'. e_status = 'S'. e_message = '创建成功!'. ENDIF. zfmparavalsave3 'END' e_status e_message. ENDFUNCTION.我想仿照这个新建一个接口,接口功能是接收料号+工厂+BSTMI+PLIFZ,再把BSTMI+PLIFZ写到料的物料需求计划视图里
12-17
Memory 计算 Workload Pod 使用 请求 请求 % 限制 限制 % 理论扩容值 建议扩容值(GB) bpmp-java-service-prd bpmp-java-service-prd-66c869d48d-sdjb9 6.74 GiB 3.00 GiB 224.69% 8.00 GiB 84.26% 8.99 GiB 10 srm-java-base-prd srm-java-base-prd-5bb54555fc-57r7d 16.00 GiB 3.00 GiB 533.29% 16.00 GiB 99.99% 21.33 GiB 24 srm-java-base-prd-5bb54555fc-m6qtb 16.00 GiB 3.00 GiB 533.32% 16.00 GiB 100.00% 21.33 GiB srm-java-bizpj-prd srm-java-bizpj-prd-d6f597979-6gphl 30.32 GiB 3.00 GiB 1010.52% 32.00 GiB 94.74% 40.42 GiB 42 srm-java-bizpj-prd-d6f597979-7jztp 29.72 GiB 3.00 GiB 990.51% 32.00 GiB 92.86% 39.62 GiB srm-java-contract-prd srm-java-contract-prd-7887b547d9-9xmcp 2.86 GiB 500.00 MiB 586.59% 2.93 GiB 97.77% 3.82 GiB 4 srm-java-file-prd srm-java-file-prd-8695668d54-bjjd2 7.36 GiB 600.00 MiB 1255.87% 8.00 GiB 91.98% 9.81 GiB 12 srm-java-file-prd-8695668d54-ftf5n 7.44 GiB 600.00 MiB 1269.69% 8.00 GiB 92.99% 9.92 GiB srm-java-file-prd-8695668d54-g56fs 7.61 GiB 600.00 MiB 1298.86% 8.00 GiB 95.13% 10.15 GiB srm-java-file-prd-8695668d54-pw7ll 7.45 GiB 600.00 MiB 1271.01% 8.00 GiB 93.09% 9.93 GiB srm-java-file-prd-8695668d54-xbhnb 7.43 GiB 600.00 MiB 1268.21% 8.00 GiB 92.89% 9.91 GiB srm-java-gateway-prd srm-java-gateway-prd-d5d9956ff-j6mxv 2.67 GiB 500.00 MiB 547.36% 3.00 GiB 89.09% 3.56 GiB 4 srm-java-gateway-prd-d5d9956ff-lfspx 2.64 GiB 500.00 MiB 540.81% 3.00 GiB 88.02% 3.52 GiB srm-java-inq-prd srm-java-inq-prd-85444f8645-pvsgd 2.58 GiB 500.00 MiB 528.06% 3.00 GiB 85.95% 3.44 GiB 4 srm-java-onlineview-prd srm-java-onlineview-prd-7f5f78dbd8-5xsq5 12.28 GiB 500.00 MiB 2514.98% 16.00 GiB 76.75% 16.37 GiB 18 srm-java-ppap-prd srm-java-ppap-prd-6f5d949fd9-mlpwq 2.25 GiB 500.00 MiB 461.09% 3.00 GiB 75.05% 3.00 GiB 4 srm-java-qc-prd srm-java-qc-prd-855bf8d6b5-m6fh2 3.67 GiB 3.00 GiB 122.50% 4.00 GiB 91.87% 4.90 GiB 6 srm-java-rbac-prd srm-java-rbac-prd-8dfbf968f-82v6f 15.66 GiB 3.00 GiB 522.15% 16.00 GiB 97.90% 20.89 GiB 22 srm-java-rbac-prd-8dfbf968f-tzctw 15.55 GiB 3.00 GiB 518.39% 16.00 GiB 97.20% 20.74 GiB 根据上面的信息,帮我写一个扩容原因,请求率太高
07-10
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值